这是我的应用程序...
extract.magoo=tony
我正在尝试阅读此内容。
@Component
@ConfigurationProperties("extract")
public class ApplicationProperties {
...
String magoo;
@Autowired
private Environment env;
@PostConstruct
public void validate() {
System.out.println("******* magoo=" + magoo);
System.out.println("**** " + env.getProperty("extract.magoo"));
}
将输出:
******* magoo=null
**** null
**** tony
因此,类的属性 magoo 永远不会注入。 但我可以从环境豆中获取价值。 所以这意味着它正在读取应用程序属性。
请注意,在配置类中,我添加了@EnableConfigurationProperties注释。
@Configuration
@EnableConfigurationProperties(ApplicationProperties.class)
public class ExtractToolConfiguration {
...
}
谢谢
您必须通过在@Configuration
类上添加@EnableConfigurationProperties
来启用@ConfigurationProperties
。然后
@ConfigurationProperties(prefix="extract")
public class ApplicationProperties {
String magoo;
public void setMagoo(String magoo){
this.magoo = magoo;
}
}
您还需要二传手。