• @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 ;

  • 相关阅读:
    mysql登录和连接 权限
    No package mysql-server available.
    rails开发demo(一)搭建环境
    chrome和搜狗浏览器的js问题
    setInterval setTimeout clearInterval
    几道面试题
    du df 查看文件和文件夹大小
    win7开启休眠功能
    ssh key scp命令 scp无密码传输
    dd 生成指定大小文件
  • 原文地址:https://www.cnblogs.com/wangsen/p/11655612.html
Copyright © 2020-2023  润新知