美文网首页
@ConfigurationProperties 使用及源码总结

@ConfigurationProperties 使用及源码总结

作者: WY_250e | 来源:发表于2018-02-12 00:00 被阅读0次

    该注解由springboot提供

    有时候我们需要读取配置文件的信息,封装为一个实体类实例,这时候,可以使用@ConfigurationProperties,它可以把同类的配置信息(实际上就是具有相同前缀的属性值)自动封装成实体类实例

    首先在配置文件里面,这些信息是这样子滴

    connection.username=admin
    connection.password=abcd
    

    三种使用方法,当然都需要有setter方法
    一. 和@Component结合使用,共同作用于类定义

    @Component
    @ConfigurationProperties(prefix="connection")
    public class ConnectionSettings {
        private String username;
        private String password ;
    
       // setter方法...
    }
    

    二. 我们还可以把@ConfigurationProperties还可以直接定义在@bean的注解上,这时bean实体类定义就不需要@Component和@ConfigurationProperties了

    public class ConnectionSettings {
        private String username;
        private String password ;
    
       // setter方法...
    }
    
    @SpringBootApplication
    public class DemoApplication{
        @Bean
        @ConfigurationProperties(prefix = "connection")
        public ConnectionSettings connectionSettings(){
            return new ConnectionSettings();
        }
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }
    

    三. 借助@ EnableConfigurationProperties 将类加入到bean容器中, 不需要有@Component

    // ConnectionSettings.java
    @ConfigurationProperties(prefix="connection")
    public class ConnectionSettings {
        private String username;
        private String password ;
    
       // setter方法...
    }
    
    // spring boot 主类
    @SpringBootApplication
    @EnableConfigurationProperties(ConnectionSettings.class)
    public class DemoApplication{
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }
    
    
    

    最后我们可以通过@Autowired进行引用

    参见:
    http://blog.csdn.net/yingxiake/article/details/51263071
    http://blog.csdn.net/qq_26000415/article/details/78942494
    https://www.jianshu.com/p/b71845c142d0

    相关文章

      网友评论

          本文标题:@ConfigurationProperties 使用及源码总结

          本文链接:https://www.haomeiwen.com/subject/zczltftx.html