前言:
文章是系列学习笔记第9篇。基于黑马程序员课程完成,是笔者的学习笔记与心得总结,供自己和他人参考。笔记大部分是对黑马视频的归纳,少部分自己的理解,微量ai解释的内容(ai部分会标出)。
笔记1:【SSM】Spring学习笔记1: IoC的XML配置-CSDN博客 对应黑马课程P1~P20的内容。
笔记2:【SSM】Spring学习笔记2:注解配置bean-CSDN博客 对应黑马课程P21~P27
笔记3:【SSM】Spring学习笔记3:Spring整合MyBatis和Junit-CSDN博客 对应黑马课程P28~P30
笔记4:【SSM】Spring学习笔记4:Spring的AOP编程-CSDN博客 对应黑马课程P31~39
笔记5:【SSM】Spring学习笔记5:Spring事务-CSDN博客 对应黑马课程P40~42
笔记6: 【SSM】Spring学习笔记6:SpringMVC入门-CSDN博客 对应黑马课程P43~58
笔记7: 【SSM】SpringMVC学习笔记7:前后端数据传输协议和异常处理-CSDN博客 对应黑马课程P59~65
笔记8:【SSM】SpringMVC学习笔记8:拦截器-CSDN博客 对应黑马课程P71~74
笔记9: (此篇) 对应黑马课程P90~101
1. 快速案例
新建springboot工程(intell IDEA有集成)

新建好工程之后,直接写一个controller类
java
@RestController
@RequestMapping("/book")
public class BookController {
@GetMapping("/{id}")
public String getBook(@PathVariable int id) {
return "hi spring boot";
}
}
运行新建工程之后自动写好的类

无需额外配置,此时tomcat服务器已经启动,刚刚写好的controller类正确运行。
不通过ide创建spring boot项目的话,可以从spring官网创建项目,到时候会提供一个创建好项目的压缩包。
2. spring boot项目快速启动
将构建好的spring boot打包成一个jar包,发送给前端人员,前端人员就能无需配置运行环境的情况下运行构建好的spring boot程序。

注意,如果没有以下插件,打包出来的jar包无法直接运行。

3.springboot
3.1 起步依赖
构建的springboot项目会继承自spring-boot-starter-parent项目,而spring-boot-starter-parent又会继承自spring-boot-dependencies,这两个项目是springboot官方提供的项目,用于依赖的版本控制。简单的说,这两个项目中提供了几乎所有常用依赖的适配版本的可选依赖,在我们的项目中如果需要使用某个依赖直接使用groupId和artifactId即可,无需配置版本号。这种设计减少了各个依赖之间版本冲突带来的问题。
3.2 引导类
就是创建SpringBoot项目的时候自动生成的类,这个类是程序的入口。这个类无需手动创建。
java
@SpringBootApplication
public class MyspringbootApplication {
public static void main(String[] args) {
SpringApplication.run(MyspringbootApplication.class, args);
}
}
4. Springboot端口配置
springboot所有配置文件都叫 application.XXX
application.properties配置


application.yml配置
注意该文件配置格式,在具体的值前面有空格。

application.yaml配置
它的格式和.yml一模一样
优先级
如果同时使用以上三种文件同时配置,优先级:
application.properties>application.yml>application.yaml
ps:
如果在配置文件中书写的时候没有任何提示,可能是以内ide没有将该文件视为工程的配置文件。需要到项目结构中设置。
5. yaml配置文件
5.1 书写格式
逐渐在市场中占主流地位


5.2 使用
方法1

方法2
使用自动装配的方式,直接将配置文件中的信息放到environment对象里面。

方法3
自定义对象封装数据。使用@Component注解将该类配置成bean,交给Spring管理。
使用@ConfigurationProperties注解指明这个类应该与配置文件中哪个信息对应。



5.3 多环境配置
.yml
java
# 设置启用的环境
spring:
profiles:
active: test
---
# 开发
spring:
profiles: dev
server:
port: 80
---
# 生产
spring:
profiles: pro
server:
port: 81
---
# 测试
spring:
profiles: test
server:
port: 82
命令行运行jar包的时候指定运行环境

同理,这种格式适用于各中参数的临时覆盖,包括配置文件中的自定义参数

6. maven 和SpringBoot多环境配置兼容


要需要保证有以下插件,maven中的属性才能被配置文件读取

7. 在jar外面的配置文件
在jar包的同级目录下如果有一个application.yml配置文件,jar包运行的的时候会使用该配置文件作为配置信息。如果jar包同级目录下有config/application.yml,则config/application.yml优先级更高,将使用它作为配置信息。
