Springboot @ConfigurationProperties嵌套的 yaml 属性不加载

由于某种原因,非嵌套属性加载,但嵌套属性不加载。


配置:


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 及其自己的前缀注释内部类似乎不起作用。我错过了什么吗?


翻过高山走不出你
浏览 422回答 1
1回答

ibeautiful

您需要实例化您的财产profilesprivate Profiles profiles = new Profiles();就是这样。发生这种情况是因为您的内心不是 .您不能直接实例化这种类型的,而只能在封闭的上下文中实例化。classstaticclass做你的,你会很高兴去classstaticpublic static class Profiles { ... }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java