一、SpringBoot 起步依赖

1)版本锁定
如spring-boot-starter-parent中,指定了版本,子module中不需要再次指定版本

<dependencyManagement>
</dependencyManagement>

2)依赖传递
如spring-boot-starter-web中

二、SpringBoot配置

(一)配置文件分类

SpringBoot 是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认的话,就可以使用application.properties 或者 application.yml (application.yaml)进行配置。

  • properties
    server.port=8080
  • yml
    server: port: 8080

如果resource目录下同时存在以下配置文件:

application.properties

application.yml

application.yaml

则优先级application.properties 最高,其次是application.yml,最后是application.yaml。即若3个配置文件存在同一个键值对,实际上取的值是application.properties文件中的;他们是叠加读取的。

springboot 添加mysql依赖 springboot配置依赖_java

(二)yaml

YAML全称是YAML Ain’t Markup Language,意思是yaml不是一种标记性语言。

springboot 添加mysql依赖 springboot配置依赖_java_02


springboot 添加mysql依赖 springboot配置依赖_配置文件_03


springboot 添加mysql依赖 springboot配置依赖_优先级_04


springboot 添加mysql依赖 springboot配置依赖_优先级_05


springboot 添加mysql依赖 springboot配置依赖_配置文件_06

(三)读取配置文件内容

1、@Value

springboot 添加mysql依赖 springboot配置依赖_配置文件_07


springboot 添加mysql依赖 springboot配置依赖_spring boot_08

2、Environment

springboot 添加mysql依赖 springboot配置依赖_优先级_09


springboot 添加mysql依赖 springboot配置依赖_spring boot_10

3、 @ConfigurationProperties

springboot 添加mysql依赖 springboot配置依赖_spring_11


springboot 添加mysql依赖 springboot配置依赖_java_12


springboot 添加mysql依赖 springboot配置依赖_优先级_13

加上下面这依赖之后,自己写的类上的属性就能在配置文件里有提示了。

springboot 添加mysql依赖 springboot配置依赖_配置文件_14


springboot 添加mysql依赖 springboot配置依赖_spring_15

(四)profile

springboot 添加mysql依赖 springboot配置依赖_java_16


springboot 添加mysql依赖 springboot配置依赖_优先级_17

springboot 添加mysql依赖 springboot配置依赖_优先级_18


springboot 添加mysql依赖 springboot配置依赖_优先级_19

springboot 添加mysql依赖 springboot配置依赖_java_20

springboot 添加mysql依赖 springboot配置依赖_spring boot_21


springboot 添加mysql依赖 springboot配置依赖_spring boot_22

(五)内部配置加载顺序

springboot 添加mysql依赖 springboot配置依赖_spring boot_23


resource目录下是属于第4种,在classpath的根目录下。多个文件都会加载,形成互补的配置;同名变量生效优先级1>2>3>4。

说明:1和2是不会打进jar包文件里的,因为他不符合maven结构

springboot 添加mysql依赖 springboot配置依赖_配置文件_24

(六)外部配置加载顺序

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

springboot 添加mysql依赖 springboot配置依赖_spring_25


17种外部配置方式

springboot 添加mysql依赖 springboot配置依赖_spring boot_26


springboot 添加mysql依赖 springboot配置依赖_spring_27