**
首先呢,了解一下它配置的优先级*
•配置文件一般使用以.yml为后缀的文件,例如:application.yml
springBoot配置文件的优先级
项目/main/resources/.yml < 项目/main/resources/.yml < 项目/.yml < 项目/config/.yml
一般我们只用 项目/config/.yml 下面的.yml配置文件
###YML*(YAML)*的基本语法
key: value //注意::后面必须加上个空格
例如:
server:
port: 8081 就相当于server.port=/8081的层级关系
值的写法:
**k: v:**这就相当于上面的格式;如果加上"",会转义字符串里面的特殊字符,对象也可以用行内的写法:如:server:{port: 8081,k: v}多个值的话需用逗号隔开,但需要注意属性名后面的冒号后必须加空格!!
数组(List Set):
用- 值表示数组中的一个元素,行内的话比如:list: [a,b]
将JavaBean注入到配置文件中
首先提供实体类以及getset方法,图中的@Component注解作用是:交给spring管理相当于
@ConfigurationProperties(prefix = “person”)这个prefix 也可以用value代替,而这个person是用来与spring容器中得person相关信息进行绑定
注:第一个实体类上面的警告可以在pom.xml里面添加依赖
org.springframework.boot
spring-boot-configuration-processor
true
解决,也可以选择不做处理,不会影响代码的正确性!
*在resources/application.ymal中注入属性
注:需要注意的是名字不能以驼峰命名法命名,否则会报错
接下来:就需要测试一下了
在controller类里面使用
@Autowired
Person person;
然后写上访问的路径及方法体就可以运行测试类的main方法,使用浏览器或者使用idea上的REST Client输入路径就可以访问了
上面的这种是使用全局配置进行属性赋值,还可以在实体类中使用 @Value注解 进行赋值,里面使用KaTeX parse error: Expected 'EOF', got '#' at position 53: …spring表达式语言==>'#̲{"值"}'进行赋值,还可以进…{“配置文件中第一级.属性名”}赋值
比较@ConfigurationProperties和@Value的区别*
最大的区别就是@ConfigurationProper