【发布时间】:2020-06-09 02:36:42
【问题描述】:
我是 Spring Boot 的新手。目前,我正在尝试创建一个 POJO 类 (SystemProperties.class) 来读取属性文件中的值(parameter.properties 与 application.properties 分开但仍在同一目录/src/main/resources。当我在类中使用@ConstructorBinding 以使其不可变时,就会出现问题。
- @ConstructorBinding 需要与@EnableConfigurationProperties 或@ConfigurationPropertiesScan 一起使用。
- @ConfigurationPropertiesScan 将忽略使用@PropertySource 指定外部时需要的@Configuration 注释
*.properties 文件。
A) SystemProperties.class
@Configuration
@PropertySource("classpath:parameter.properties")
@ConstructorBinding
@ConfigurationProperties(prefix = "abc")
public class SystemProperties {
private final String test;
public SystemProperties (
String test) {
this.test = test;
}
public String getTest() {
return test;
}
B) parameter.properties
abc.test=text1
我已尝试删除 @PropertySource 注释,但无法检索该值,除非它来自 application.properties。非常感谢任何帮助!
【问题讨论】:
标签: java spring spring-boot immutability