出于某种原因,非嵌套属性加载,但嵌套不加载。
配置:
spring:
profile: junit
profiles:
include: base配置类:
@ConfigurationProperties(prefix = "spring")
public class MyFirstProperties {
private String profile;
private Profiles profiles;
// getters and setters
public class Profiles
{
private String include;
// getters and setters
}
}主修班:
@SpringBootApplication
@EnableConfigurationProperties(MyFirstProperties.class)
public class Main {
public static void main(String... args) {
SpringApplication.run(Main.class, args);
}
}当我将配置类注入控制器并调用getter以获取非嵌套属性时,它将返回其值。但是嵌套属性的getter返回null。
用ConfigurationProperties及其自己的前缀注释内部类似乎不起作用。我是不是遗漏了什么?
发布于 2019-03-18 17:35:19
您需要实例化您的profiles属性
private Profiles profiles = new Profiles();就这样。
之所以会发生这种情况,是因为您的内部class 不是 static。
您不能直接实例化这种类型的class,但只能在包含一个的上下文中实例化。
做你的class static,你就可以走了
public static class Profiles { ... }https://stackoverflow.com/questions/55226817
复制相似问题