从SpringBoot到SpringCloudAlibaba简明教程(一):初识SpringBoot及其基础项目构建
前言
Spring框架的大名想必大家早已如雷贯耳,我们来看一下springboot诞生的初衷,以及它在springframe的基础上解决了哪些痛点。
很久以前,J2EE还是java企业级应用的标准规范之时,spring以其轻量级开发的理念顺势杀出,一路势如破竹,逐渐取代J2EE成为王者。但随着人们对spring深入使用,其中的弊端也逐渐显现出来,其中最典型的便是——配置地狱。
springboot诞生于spring后续的迭代版本,为了解决spring原框架中的一系列痛点,首次提出了“约定大于配置”的理念,以大量的默认配置、注解机制以及内嵌web服务等方式,巧妙且极大的简化了spring配置负担,并且通过统一的starters标准,配合maven实现了三方模块的极简化集成。
SpringBoot是一次真正意义上的现代化java编程思想,在其后端微服务领域的核心体现。
本节我们先来初窥一二,看看如何快速完成基于springboot的基础项目搭建。
首先ide选择IntelliJ IDEA,最好用的java开发环境没有之二,谁用谁知道哈 ^_^
大家可以到官网下载免费社区版,除了不能定制,基本功能完全够用
https://www.jetbrains.com/zh-cn/idea/download/#section=windows

1. 新建工程
我们选择新建工程(file – new project),选择Spring Initializr,如图:

这里首先是选择springboot初始化工具,图中的https://start.spring.io是官方提供的,此外官方也允许第三方服务的个性化定制,比如我常用的是阿里云提供的服务。
点击next.
2. 工程命名并选择依赖库
我们给工程命名为hellospringboot,Java版本我用了默认的java8,其他各项直接默认即可,如图点击next

接下来是依赖库的选择

这里足可以体现出springboot的强大之处,各种依赖库应有尽有,web开发、前端模板、关系型数据库、非关系型数据库、以及后续我们会涉及的微服务等相关组件都放在那里,你只需要根据项目需要勾选即可将其功能完整的整合进来。
我们先只选择一项web开发,别担心,后续有其他需求我们可以随时编写maven完成功能整合,点击next继续。
3. 完成工程构建
选择工程路径,点击finish即可完成springboot基础工程的构建。
构建完毕后的工程如图所示

其中HellospringbootApplication.java是入口文件,pom.xml是maven的工程配置文件,详细描述了整个工程的依赖关系,我们可以双击打开看其中的内容

dependencies是工程依赖的三方库清单,其中的spring-boot-starter-web对应我们先前勾选的web开发依赖项
4. 修改配置文件

我们双击打开resources下的application.properties文件,可以看到当前的工程配置信息:
# 应用名称
spring.application.name=hellospringboot
# 应用服务 WEB 访问端口
server.port=8080
可以看到springboot工程的配置形式非常简洁明了。
这里目前只有应用名称和访问端口两项配置,端口默认为8080,我们可以按需改为80或者其他端口配置。
后续随着我们逐步引入其他三方库,会继续在这个文件下逐步添加其他相关配置。
其实到这里,整个工程就可以执行了。
我们执行工程,然后浏览器访问 localhost:8080 看效果

这是因为我们尚未完成springboot相关的路由映射
5. 新增controller,并实现简单的业务逻辑
我们新建controller包,并创建MainController,如下图所示

编写相关代码:
package com.example.hellospringboot.controller; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
@RequestMapping("/")
public class MainController { @GetMapping("/")
public String index(){
return "hello Spring Boot !!!";
}
}
这里我们用到了一些常用的注解,后续我会给大家逐个阐述其相关含义及作用。
我们重新打开浏览器访问localhost:8080,便会看到如下字样:

到此我们便完成了一个基础springboot项目构建的全过程,同时也对springboot有了一个大致概念上的认知。
本节就到这里,下一节给大家讲述如何 使用springboot快速实现简单的web开发,敬请期待 ^_^
从SpringBoot到SpringCloudAlibaba简明教程(一):初识SpringBoot及其基础项目构建的更多相关文章
- ArcGIS Pro 简明教程(4)工具和模型构建器
ArcGIS Pro 简明教程(4)工具和模型构建器 by 李远祥 工具箱中的工具 ArcGIS Pro 在1.3版本基本上已经继承了ArcMap的所有工具,而且会不断加入一些它自身才有的工具,例如适 ...
- Android Studio 入门级教程(三):gradle项目构建
声明 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4456420.html [系列] Andr ...
- 简明教程 | Docker篇 · 其一:基础入门
了解Docker Docker是什么 Docker是指容器化技术,用于支持创建和使用 Linux 容器,同时Docker也是软件容器平台. 什么是容器(container) 容器是主机上与其他进程隔离 ...
- 2流高手速成记(之六):从SpringBoot到SpringCloudAlibaba
咱们接上回 2流高手速成记(之五):Springboot整合Shiro实现安全管理 - 14号程序员 - 博客园 (cnblogs.com) 身边常有朋友说:小项目用PHP.大项目用Java(这里绝无 ...
- Vbs 脚本编程简明教程之一
—为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...
- SpringBoot:初识SpringBoot
西部开源-秦疆老师:基于SpringBoot 2.1.6 的博客教程 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉! 1.SpringBo ...
- 初识springboot(傻瓜式教程)
初识springboot(傻瓜式教程) 项目所需的版本 IDEA 2018 maven 3.x jdk-1.8 IDEA创建spring-boot项目(maven方法) 1.创建一个maven工程 点 ...
- 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)
小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #i ...
- 2013 duilib入门简明教程 -- 部分bug (11)
一.WindowImplBase的bug 在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题, 1.最大化按钮的样式 ...
随机推荐
- Pollard's rho algorithm和涉及到的两个循环检测算法
0. 简单介绍 Pollard的\(\rho\)算法是John Pollard在1975年发明的,用于分解质因数[1].假定被分解的数为N,N的最小的质因数为\(p(p\ne N)\),那么该算法可以 ...
- JavaEE复制后项目出错或者无法运行的解决方法
eclipse中,直接复制项目,会出现一些错误,解决方法如下: 1,在复制后的工程上点右键->properties->Web Project Settings>web context ...
- traceback.print_exc()的用法
Python使用traceback.print_exc()来代替print e 来输出详细的异常信息 [python] view plain copy try: 1/0 except Except ...
- 基于Oracle数据库登陆界面及功能实现 Java版
首先要在Oracle数据库创建表文件,包括建立表头以及关键字(唯一标识符),此次程序所用的表名称为SW_USER_INFO,表头有UNAME.UKEY.USEX等,关键字为UCC,然后添加一条记录,用 ...
- Netty核心原理
Netty核心原理 1. Netty介绍 1.1 原生NIO存在的问题 NIO的类库和API使用繁杂 需要具备其他额外的技能,如java多线程编程等才能编写出高质量的NIO程序 开发工作量和难度都非常 ...
- IDEA使用JDBC链接MySql(java编程)
1.在Maven的pom.xml文件中引入MySql的驱动 <dependency> <groupId>mysql</groupId> <artifactId ...
- 从零开始,开发一个 Web Office 套件(5):Mouse hover over text
<从零开始, 开发一个 Web Office 套件>系列博客目录 这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office ...
- 音视频开发者的福音,快速集成AI配音能力
音视频内容创作者对剪辑应用中的AI配音需求与日俱增.它的优点很多,不光可以解决雇佣人力配音的成本以及创作者本身的口音.语言等限制,还可以大幅提升生产效率.比如,短视频的播放时间短的几十秒,长的vlog ...
- 记一次payload绕过电脑管家免杀
一.msf命令提示符下generate命令生成1.首先可以使用show payloads命令查看所有的payload,然后使用use命令选中其中一个. 2.使用generate -h查看命令帮助 ge ...
- 哪些BI分析商业智能平台是最受欢迎的?
近些年来,AI推动的云生态系统已非常成熟.智能.增强的预测和决策工具处于这样一个阶段:准备好部署到企业中从董事会到车间的各个地方.挑战在于确保贵企业已准备好使用它们.因此,下面介绍了眼下最出色.最受欢 ...