【视频 & 交流平台】
http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share
http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share
https://gitee.com/happyangellxq520/spring-boot
http://412887952-qq-com.iteye.com/blog/2321532
需求缘起:
在录制Spring Boot自定义属性的时候,发现@ConfigurationProperties的locations已经过时了,如下代码:
@ConfigurationProperties(prefix="email",locations={"classpath:email.properties"}) public class Email2Properties { }
如上代码情况locations已经过时,不建议使用了。
版本说明:
出现以上的情况,前提是Spring Boot版本使用的是1.4+以上的版本,如果使用的1.4之前的版本,比如:1.3.3版本的时候,是可以正常使用的。
解决之道:
(1)在@EnableConfigurationProperties
取消激活自定义的配置类
(2)采用@Component
的方式注册为组件,然后使用@PropertySource
来指定自定义的资源目录,如下代码:
@Component @ConfigurationProperties(prefix="email") @PropertySource(value={"classpath:email.properties"}) public class Email2Properties { }
可以参考链接:https://github.com/spring-projects/spring-boot/issues/6726