关于@ConfigurationProperties注解全解析

 更新时间:2024年11月01日 08:40:27   作者:小鲍侃java  
通过@ConfigurationProperties和@ConditionalOnProperty注解,可以实现基于配置的条件加载Bean,以此优化Spring Boot应用的启动速度,在application.yml中设置配置项,如是否加载特定的Bean(以swagger配置为例)

@ConfigurationProperties注解解析

@ConfigurationProperties注解类似于@value 可以将application中的配置映射到java变量中 通过@ConfigurationProperties,可以配置是否加载bean

示例

application.yml

spring: 
  complex:   #重量级模式是否开启 在线上可以不加载开发环境bean
    enable: true

ConfigProperties 配置是否加载的标识 加载为true 

不加载为fasle 对应上文配置

@ConfigurationProperties(prefix = "spring.complex")
public class ConfigProperties {

    private boolean enable;

    public boolean isEnable() {
        return enable;
    }

    public void setEnable(boolean enable) {
        this.enable = enable;
    }
}

通过@EnableConfigurationProperties指定上文配置的标识

并通过@ConditionalOnProperty判断 下文实现

如果application里面配置的为false或者不配置(默认为false)则swagger相关配置不会加载 提高启动速度

@Configuration(proxyBeanMethods = false)
@EnableSwagger2
@EnableConfigurationProperties(ConfigProperties.class)
@ConditionalOnProperty(prefix = "spring.complex", name = "enable", havingValue = "true", matchIfMissing = false) 指定通过spring.complex.enable属性判断 如果为true 则加载 默认为false
public class SwaggerConfig{


}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现短信发送验证码功能

    Java实现短信发送验证码功能

    这篇文章主要介绍了Java实现短信发送验证码功能,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2018-10-10
  • Hibernate validator使用以及自定义校验器注解

    Hibernate validator使用以及自定义校验器注解

    这篇文章主要介绍了Hibernate validator使用以及自定义校验器注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Object类wait及notify方法原理实例解析

    Object类wait及notify方法原理实例解析

    这篇文章主要介绍了Object类wait及notify方法原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • springboot swagger不显示接口的问题及解决

    springboot swagger不显示接口的问题及解决

    这篇文章主要介绍了springboot swagger不显示接口的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 设置Myeclipse中的代码格式化、注释模板及保存时自动格式化

    设置Myeclipse中的代码格式化、注释模板及保存时自动格式化

    这篇文章主要介绍了设置Myeclipse中的代码格式化、注释模板及保存时自动格式化方法,需要的朋友可以参考下
    2014-10-10
  • java利用Socket实现聊天室功能实例

    java利用Socket实现聊天室功能实例

    这篇文章主要介绍了java利用Socket实现聊天室功能实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • Java数组的初始化方法详解

    Java数组的初始化方法详解

    在Java程序开发中,数组是一个非常常用的数据类型,数组的初始化是使用数组来存储和处理数据的关键步骤之一,但是,关于Java数组的初始化,经常会让人感到迷惑,本文将详细介绍Java数组的初始化方法,帮助读者从此告别关于Java数组初始化的困惑
    2023-11-11
  • Spring mvc JSON数据交换格式原理解析

    Spring mvc JSON数据交换格式原理解析

    这篇文章主要介绍了Spring mvc JSON数据交换格式原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Spring Cloud Feign统一设置验证token实现方法解析

    Spring Cloud Feign统一设置验证token实现方法解析

    这篇文章主要介绍了Spring Cloud Feign统一设置验证token实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • java 读取excel文件转换成json格式的实例代码

    java 读取excel文件转换成json格式的实例代码

    这篇文章主要介绍了 java 读取excel文件转换成json格式的实例代码,需要的朋友可以参考下
    2018-04-04

最新评论