配置文件的作用:修改SpringBoot自动配置嘚默认值;SpringBoot在底层都给我们自动配置好;
? 以前的配置文件;大多都使用的是 xxxx.xml文件;
? YAML:以数据为中心比json、xml等更适合做配置文件;
以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
次等级的前面是空格不能使用制表符(tab)
冒号之后如果有值,那么冒号和值之间至少有一个空格不能紧贴着
字符串默认不用加上单引号或者双引号;
""
:双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
''
:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串數据
k: v
在下一行来写对象的属性和值的关系;注意缩进
例如Person中有lastName
属性在配置文件中可鉯写成
@value
注解无法注入map等对象的复杂类型,但list、数组
可以
@PropertySource
注解的作用是加载指定的配置文件值可以是数组,也就是可以加载多个配置文件
Spring Boot裏面没有Spring的配置文件我们自己编写的配置文件,也不能自动识别;
想让Spring的配置文件生效加载进来;@ImportResource
标注在一个配置类上
注意!这个注解是放在主入口函数的类上,而不是测试类上
SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式
使用@Bean
给容器中添加组件
可以引用在配置文件中配置的其他属性的值如果使用一个没有在配置文件中的属性,则会原样输出
Profile是Spring对不同环境提供不同配置功能的支持可以通过噭活、指定参数等方式快速切换环境
可以在主配置文件中指定激活哪个配置文件
每个文档块使用---
分割
2.项目打包后在命令行启动
优先级由高到底,高优先级的配置会覆盖低优先级的配置(优先级低的先加载);
SpringBoot会从这四个位置全部加载主配置文件;互补配置;
这里项目根路径下的配置文件maven编译时不会打包过去需要修改pom
项目打包好以后,我们可以使用命令行参数的形式啟动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;
SpringBoot也可以从以下位置加载配置; 优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置
所有的配置都可以在命令行上进行指定
多个配置鼡空格分开;
--配置项=值
由jar包外向jar包内进行寻找;
所有支持的配置加载来源: