@ConfigurationProperties注解在spring boot中使用

今天整合springboot时候,在person类中用@ConfigurationProperties(prefix = "testPerson")取application-dev.yml文件的值时,发现取出来的值都是空值,也没报错。

而在HelloController类中用用@Value("testValue")取值却成功的从application-dev.yml文件中取出来了。

 

application-dev.yml文件内容:

testValue: test
testEL: "pageSize:${testValue}"
testPerson:
  name: test
  age: 123
  id: 456
 

纠结了一会,干脆换成了properties配置,还是用@ConfigurationProperties取值,结果在application.properties文件中的数据却取出来了。

仔细看了下区别。感觉可能是文件名的锅。我把文件名从application-dev.ym改成application.ym,结果@ConfigurationProperties取成功了。

原来@ConfigurationProperties和@Value不一样,前者默认从application文件中取值,后者似乎没有这个限制。

@ConfigurationProperties在其他配置文件取值时候,需要@PropertySource("classpath:config/xxx.yml") 配置文件路径 .
--------------------- 
 

Guess you like

Origin blog.csdn.net/zty1317313805/article/details/97759777