配置文件
一、参数配置化
@Value注解通常用于外部配置的属性注入,具体用法为:@Value("${配置文件中的key}")
二、Springboot的多种属性配置方式
1.application.properties
2.application.yml
3.application.yaml
三、常见配置文件格式对比
1.XML
2.properties
3.yml/yaml
四、yml
1.基本语法
(1)大小写敏感;
(2)数值前边必须有空格,作为分隔符;
(3)使用缩进表示层级关系,缩进时,不允许使用Tab键,只能用空格(idea中会自动将Tab转换为空格);
(4)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可;
(5)#表示注释,从这个字符一直到行尾,都会被解析器忽略。
2.yml数据格式
(1)对象/Map集合:
(2)数组/List/Set集合:
五、@ConfigurationProperties与@Value
1.相同点:都是用来注入外部配置的属性的。
2.不同点:
(1)@Value注解只能一个一个的进行外部属性注入;
(2)@ConfigurationProperties可以批量的将外部的属性配置注入到bean对象的属性中。
六、配置优先级
1.虽然springboot支持多种格式配置文件,但在项目开发时,推荐统一使用格式的配置(yml是主流)。
2.SpringBoot除了支持配置文件属性配置,还支持Java系统属性和命令行参数的方式进行属性配置。
3.优先级:命令行参数(---xxx=xxx)>java系统属性(-Dxxx=xxx)>application.properties > application.yml > application.yaml