• @Configuration,@ConfigurationProperties,@EnableConfigurationProperties


    @Configuration

    @ConfigurationProperties

    不能单独使用必须使用带有可以实例化bena的注解比如:@Component或者组合了@Component的注解

    @ConfigurationProperties配合@EnableConfigurationProperties使用

    可以实现@ConfigurationProperties所注解类是否实例化,由@EnableConfigurationProperties所注解的类决定。

    @Data
    @ConfigurationProperties(prefix="my.test")
    public class MyServerConfiguration {
        private String name;
    }
    
    
    @Component
    @EnableConfigurationProperties(MyServerConfiguration.class)
    public class MyServerConfigutation2 {
    
    }
    

    MyServerConfigutation2这个类如果没有实例化MyServerConfiguration这个配置类也不会实例化!

    联合使用

    @Configuration,@ConfigurationProperties配合@ConditionalOnProperty使用,实现效果:

    @Configuration
    @ConditionalOnProperty(prefix = "my.test", value = "enabled", havingValue = "true")
    @EnableConfigurationProperties(MyServerConfiguration.class)
    public class MyServerConfigutation2 {
    
    }
    
    @Data
    @ConfigurationProperties(prefix="my.test")
    public class MyServerConfiguration {
        private String name;
    }
    

    只有配置文件中指定了:my.test.enabled=true才会实例化MyServerConfigutation2 这个类,也就才会实例化MyServerConfiguration ;

  • 相关阅读:
    高精度模板_C++
    NOIP总结
    HDU2063_过山车_C++
    手写堆_C++
    NOIP2013Day1解题报告
    [ CodeVS冲杯之路 ] P1368
    POJ1002_487-3279_C++
    [ CodeVS冲杯之路 ] P1092
    POJ2376_Cleaning Shifts_C++
    欧几里得距离_曼哈顿距离_切比雪夫距离
  • 原文地址:https://www.cnblogs.com/wangsen/p/11655612.html
Copyright © 2020-2023  润新知