springboot高级功能(六)动态加载类功能,@ConfigurationProperties注解全解析

举报
小鲍侃java 发表于 2021/09/10 00:44:49 2021/09/10
【摘要】 @ConfigurationProperties注解类似于@value 可以将application中的配置映射到java变量中 通过@ConfigurationProperties,可以配置是否加载bean 示例: application.yml spring: complex: #重量级模式是否开启 在线上可以不加载开...

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

示例:

application.yml


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

ConfigProperties 配置是否加载的标识 加载为true ,不加载为fasle 对应上文配置


  
  1. @ConfigurationProperties(prefix = "spring.complex")
  2. public class ConfigProperties {
  3. private boolean enable;
  4. public boolean isEnable() {
  5. return enable;
  6. }
  7. public void setEnable(boolean enable) {
  8. this.enable = enable;
  9. }
  10. }

通过@EnableConfigurationProperties指定上文配置的标识 并通过@ConditionalOnProperty判断 下文实现如果application里面配置的为false或者不配置(默认为false)则swagger相关配置不会加载 提高启动速度


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

文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。

原文链接:baocl.blog.csdn.net/article/details/112531341

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。