Spring Boot中Value属性注入
在Spring Boot中使用配置文件中的属性,通常使用@Value和@ConfigurationProperties进行application.yml中配置文件的属性注入。主要介绍Value的使用问题:
1 | import org.springframework.beans.factory.annotation.Value; |
出现了为空的情况,为什么呢?
原因主要是因为在SpringBoot进行Component初始化的时候会首先调用构造函数,而这个时候属性还没有准备好,因此就出现了null值。为了验证想法,可以将resourcefile属性的输出放到构造函数之外,等SpringBoot将一个类完成初始化之后在进行,在测试文件中简单编码如下:(想要执行的时候,鼠标放在对应的方法,右键选择run该方法即可)
1 |
|
测试的输出结果如下:
从结果中可以看出,通过@Value是可以完成属性文件的注入的。那么如何在组件的构造函数中直接注入属性值呢?只需将注入的语句写道构造函数的参数中即可:
1 | import org.springframework.beans.factory.annotation.Value; |
结果如下:
1.Spring boot之@Value注解的使用总结
2.Spring boot @Value获取值和@ConfigurationProperties获取值比较
3.SpringBoot读取自定义yml资源文件
4.Spring-boot中读取config配置文件的两种方式
5.Spring Boot干货系列:(十二)Spring Boot使用单元测试
6.Spring Boot 自定义属性 以及 乱码问题
也可以实现InitializingBean接口,并重写afterPropertiesSet方法,执行获取属性的动作
1 |
|