zoukankan      html  css  js  c++  java
  • 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这个属性,,运行一下,可以看到打印台的信息

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

  • 相关阅读:
    101. Symmetric Tree
    mfc实现对话框全屏置顶显示
    qq截图原理
    给对话框添加颜色
    mfc设置半透明对话框
    API介绍
    列表控件学习1
    VC++、MFC
    vs2010 产品密钥
    VS2008 视图资源.rc无法加载的问题及解决方法
  • 原文地址:https://www.cnblogs.com/adroitwolf/p/14310189.html
Copyright © 2011-2022 走看看