读取配置内容
三种方式:
- @Value
- Environmen
- @ConfigurationProperties
第一种方式
直接在需要引用该键值对的类中加入对应属性,并使用@Value进行标注,而后就可以使用了,也可以进行直接访问。
第二种方式
配置Environment,如图所示,使用@Autowired使spring容器自动识别,然后调用其中的属性就可以了。使用getProperty()方法进行调用相关的属性就可以得到值。
第三种方法
单独配置一个类进行实现,如图,先标记该类是一个组件,可以被spring识别,然后使用ConfigurationProperties注解进行标记,然后括号中的参数可以用来确定是从哪个引入的,在我们的yml文件中,有相关属性进行对应匹配即可。
name: abc
# 对象
person:
# 参数引用 ${
}
# name: ${
name}
name: zhangsan
age: 20
address:
- beijing
- shanghai
person2: {
name: zhangsan, age: 21}
# 数组
address:
- beijing
- shanghai
# 数组的行内写法
address2: [beijing, shanghai]
调用方法测试如下:
解决相关小问题
在进行ConfigurationProperties的注解配置时,会出现这种情况,这个不是错,可以通过配置依赖进行解决,在prom.xml中添加这个依赖就可以解决了,同时还会增加提示,使得编写操作更加简单。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>