• springboot中自定义属性实体类和应用


    我们在当初学习SSM的时候学习过@Value这个属性,可以将配置文件中的属性加载到想要加载的类中,这个当然是一个可行的办法,但是如果属性有很多一直写@Value也是一件很麻烦的事情,现在我们可以用@ConfigurationProperties@EnableConfigurationProperties这两个注解完成这个问题。

    具体应用

    • 配置文件如下:
    whoami:
      auto-scan: false
      auto-del: true
    
    

    上面的配置文件就相当于一个例子,没有什么作用
    下面我们写自定义的属性类

    • 属性类:

    @ConfigurationProperties(prefix = "whoami")的作用就是将whoami的前缀的配置加载到这个实体类中

    @Data
    @ConfigurationProperties("whoami")
    public class AppProperties {
        private Boolean autoDel = false;
    
        private Boolean autoScan = true;
    
    }
    
    

    在这里我们可以看出来,实体类里面的属性默认值和配置文件正相反,而且配置文件的属性写法是'-'风格,而自定义文件里面的是驼峰写法,其实只要能对应就完全没问题。

    • 验证一下是否导入

    先说一下@EnableConfigurationProperties的作用,其实就是让@ConfigurationProperties生效

    @Configuration
    @EnableConfigurationProperties(AppProperties.class)
    public class FilterConfiguration {
    
        @Autowired
        AppProperties appProperties;
    
        @Bean
        public FilterRegistrationBean<LogFilter> initLogFilter(){
            log.info("属性配置;{}",appProperties.getAutoDel());
            ...
    
    

    上面的代码是一个配置类,我们可以看到,我们在初始化一个过滤器的时候顺便打印了AutoDel这个属性,,运行一下,可以看到打印台的信息

    在这里我们可以看到,打印出来的是我们配置文件的信息。

  • 相关阅读:
    软件质量的“奥秘”(一)——虚伪的质量
    IT项目管理中的假设约束依赖和承诺
    [转载]IT知识体系结构图
    如何看待项目开发过程中基于度量结果的绩效考评
    我常用的一些ASP自定义函数
    女生永远也不知道男生为什么***
    系统分析员、系统架构师、项目经理的区别
    软件工程知识体系全景图
    my music / NightWish / Groove Coverage / DJ
    qiushibaike.com
  • 原文地址:https://www.cnblogs.com/adroitwolf/p/14310189.html
Copyright © 2020-2023  润新知