我有一个应用程序。属性:
app.cert.identity.subject.organizationalUnit=test
app.cert.identity.subject.O=Pacific College
app.cert.identity.subject.L=CanTho
app.cert.identity.subject.ST=CanTho
app.cert.identity.subject.C=VN
我的班级:
@Configuration
@ConfigurationProperties(prefix = "app.cert.identity")
@EnableConfigurationProperties
@Data
public class IdentityCertificateDefinition {
private Subject subject;
@Data
@Configuration
public static class Subject {
private String organizationalUnit; //Does work
@Value("${app.cert.identity.subject.O}") //Does NOT work
private String organization;
@Value("${app.cert.identity.subject.L}") //Does NOT work
private String location;
@Value("${app.cert.identity.subject.ST}") //Does NOT work
private String state;
@Value("${app.cert.identity.subject.C}") //Does NOT work
private String countryCode;
@Value("${app.cert.identity.validity.not-after-in-days}") //Does NOT work
private int notAfterInDays;
}
}
结果如下:
你们可以看到组织单元工作,其余的不工作(都是空的)。我不知道如何使其余的属性工作。我想保留application.properties。
2条答案
按热度按时间quhf5bfb1#
您可以对以下代码使用静态类配置:
如果不需要在配置类中使用静态类,只需使用:
0pizxfdo2#
问题应该与
主要是说属性有一个公共前缀,但是当你注入它们的值时,你会再次输入前缀:
所以spring正在查找一个名为(prefix+class+value of@value)的属性:
改变
到