由于公司最近在做技术转型(从.Net转Java),因此自己也开启了学习Java之路。学习Java怎么能不学习这几年这么火的Spring Boot框架,由于自己有总结的习惯,因此会把学习的过程以博客的形式分享出来,
一来加深自己理解,二来希望能帮助到有需要的同学。
文章中如有不对之处,欢迎各位指出,届时我会及时修改。
说明:我这里使用的开发软件是IDEA。
首先在启动页选择"Create New Project"
然后左侧选中“Spring Initializr”,右侧选择好SDK的版本,然后点击“Next”
这里首先会看到默认的项目信息
按照自己的需要修改Group(可理解为组织,一般为域名反过来,如zwwhnly.com,这里就是com.zwwhnly)和Artifact(可理解为项目名)
我这里将Group修改为:com.zwwhnly
Artifact修改为:springbootdemo
然后点击下一步“Next”
这里我们先选择好依赖项“Web”和Spring Boot的版本,如图默认为2.1.2,
然后点击下一步“Next”
修改好项目名称和项目路径后,点击完成“Finish”,如果路径不存在,可能会提示你是否要自动创建目录,点击OK即可
因为要加载一些依赖项,需要等一会才能创建成功,项目创建好的结构为:
找到启动类SpringbootdemoApplication(一般为Group+Artifact+Application),看到默认代码如下:
package com.zwwhnly.springbootdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringbootdemoApplication { public static void main(String[] args) { SpringApplication.run(SpringbootdemoApplication.class, args); } } 复制代码
在启动类中右键,运行项目,看到如下信息
打开浏览器,输入: http://localhost:8080/,会看到如下页面
暂时在启动类中写一个接口映射, 如下所示:
package com.zwwhnly.springbootdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication public class SpringbootdemoApplication { public static void main(String[] args) { SpringApplication.run(SpringbootdemoApplication.class, args); } @RequestMapping public String hello() { return "Hello Spring Boot!"; } } 复制代码
再次运行项目,访问http://localhost:8080/,会看到如下信息,代表项目可以成功访问。
说明:关于@RestController和@RequestMapping在后续博客中讲解。
其实刚刚项目启动时我们已经看到了Spring Boot的Banner,那么你不禁要问什么是Spring Boot的Banner呢?其实就是下图中红色标记的地方
也许有人会觉得每次启动都显示这些信息并没有实际意义,那么我们如何关闭它呢?
原代码:
SpringApplication.run(SpringbootdemoApplication.class, args); 复制代码
修改后:
SpringApplication springApplication = new SpringApplication(SpringbootdemoApplication.class); springApplication.setBannerMode(Banner.Mode.OFF); springApplication.run(args); 复制代码
默认情况下,新建的项目里application.properties文件是空的,增加如下配置:
spring.main.banner-mode=off 复制代码
关闭后的效果如下图所示:
个人建议通过方式2修改配置文件的方式关闭。
Spring Boot默认生成的配置文件为application.properties,其实application.yml和application.properties差别并不大,只是层次结构明显,可读性更强,因此目前使用的更多一些。
我们假设本来application.properties的配置为:
server.port=8082 复制代码
那么如何将配置文件切换为application.yml呢?
首先删除掉原来的默认配置文件application.properties,新增配置文件application.yml,新增方式如下:
修改application.yml为:
server: port: 8082 复制代码
如果不小心将空格省略,其实IDEA也能识别出来,不过并不显示错误,也不影响启动,
我们现在把配置文件修改为错误的(把空格省略),然后启动项目
我们会发现项目虽然正常启动成功,不过配置的端口号8082并未生效,启动的还是默认的端口号8080。