@ConditionalOnProperty的作用和用法

在spring boot中有时候需要控制配置类是否生效,可以使用@ConditionalOnProperty注解来控制@Configuration是否生效.

配置类代码:

@Configuration
@ConditionalOnProperty(prefix = "filter",name = "loginFilter",havingValue = "true")
public class FilterConfig {//prefix为配置文件中的前缀,//name为配置的名字//havingValue是与配置的值对比值,当两个值相同返回true,配置类生效.@Beanpublic FilterRegistrationBean getFilterRegistration() {FilterRegistrationBean filterRegistration  = new FilterRegistrationBean(new LoginFilter());filterRegistration.addUrlPatterns("/*");return filterRegistration;}
}

配置文件中的代码

filter.loginFilter=true

测试
当配置文件中值为true时:输出了"过滤器"三个字,说明loginFilter生效了,说明配置类生效了.

当配置文件中值为false时:没有输出了"过滤器"三个字,说明loginFilter没有生效,说明配置类没有生效.


总结:
通过@ConditionalOnProperty控制配置类是否生效,可以将配置与代码进行分离,实现了更好的控制配置.
@ConditionalOnProperty实现是通过havingValue与配置文件中的值对比,返回为true则配置类生效,反之失效.

@ConditionalOnProperty相关推荐

  1. @ConditionalOnProperty 详解

    @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) @Documented @Con ...

  2. @Conditional 和 @ConditionalOnProperty

    @ConditionalOnProperty https://blog.csdn.net/dalangzhonghangxing/article/details/78420057 @Condition ...

  3. 笨办法学习@ConditionalOnProperty 烧脑配置记录

    前言 今天继续学习springboot时,一不小心就被@ConditionalOnProperty注解的配置真假搞得我真的变得真真假假了..(此为真,彼为假,到底你是真还是你是假,晕了晕了...) 本 ...

  4. SpringBoot之Bean之条件注入@ConditionalOnProperty

    1.美图 2.配置属性作为条件 主要是根据配置参数,来决定是否需要创建这个bean,这样就给了我们一个根据配置来控制Bean的选择的手段了,如前面一篇博文中根据配置来选择是随机生成boolean还是随 ...

  5. Bean method 'eurekaHealthCheckHandler' not loaded because @ConditionalOnProperty (eureka.client.

    springboot项目报错: Bean method 'eurekaHealthCheckHandler' not loaded because @ConditionalOnProperty (eu ...

  6. @ConditionalOnProperty 和@Conditional注解作用

    Spring boot中的注解@ConditionalOnProperty Spring boot中的注解@ConditionalOnProperty,可以通过配置文件中的属性值来判定configur ...

  7. @ConditionalOnProperty的作用和用法

    @ConditionalOnProperty的作用和用法 在spring boot中有时候需要控制配置类是否生效,可以使用@ConditionalOnProperty注解来控制@Configurati ...

  8. 详解Spring Boot中@ConditionalOnProperty使用方法

    目录 前言 如何使用 解析源码 总结 前言 在开发过程中,我们又没有发现我们添加配置文件后, 一些配置类便生效了,更改一些配置文件,这个配置类又不起作用了呢?比如s w a g g e r的a p i ...

  9. Spring中的@ConditionalOnProperty注解

    1.概述 介绍@ConditionalOnProperty注解的主要目的. 2.@ConditionalOnProperty的目的 通常,在开发基于Spring的应用程序时,可能需要根据配置属性的存在 ...

  10. @ConditionalOnBean、@ConditionalOnProperty、@ConditionalOnClass、@Conditional和Condition接口的使用

    一.@ConditionalOnBean.@ConditionalOnProperty.@ConditionalOnClass @ConditionalOnBean是指当spring容器中有某个bea ...

最新文章

  1. FPGA之道(25)VHDL数据类型转换函数与数据对象的属性
  2. 对象化下的编程——字段
  3. 22543!Windows 11 新预览版发布
  4. matlab中模块封装,MATLAB/simulink模块的封装
  5. 拓端tecdat|R语言rjags使用随机效应进行臭氧数据分析
  6. 校园招聘 - 面试指南
  7. “新元宇宙”奇科幻小说原创作品《地球人奇游天球记》第四回飞离地球
  8. 一般来说仿制一个网站大概需要多少钱呢
  9. 024 正交向量 正交矩阵及性质
  10. JS打印99乘法表格
  11. EasyX 窗口如何最大化,以及拖拽调整大小
  12. Ant Design Charts绘制中国地图并动态添加标记点
  13. HBuildX配置夜游神模拟器
  14. WordPress数据库连接错误解决方案!
  15. yolov5目标检测神经网络——损失函数计算原理
  16. 4计算机硬件由,计算机硬件系统由(4)大部分组成,其中存储器是硬件系统中的记忆设备,(5)。A.运算器、控制器、存储器、...
  17. android pwm 唤醒 闪屏,A屏低亮度PWM频闪伤眼?拯救OLED屏伤眼的APP了解下
  18. idea打jir放进项目里
  19. 读《聪明的投资者》有感
  20. CentOS6.5 安装宝塔

热门文章

  1. vbox 虚拟机支持ipv6
  2. 安排,2020新kafka视频教程零基础到精通
  3. 计算机科学中的哲学思想,冯_诺依曼的计算机科学哲学思想.doc
  4. Contrastive Loss (对比损失)
  5. 相机技术--摄像机720p、1080p、2mp、3mp、5mp;VGA, QHD, FHD, 2K,4K对应的分辨率分别是什么
  6. 核子公式——量化IT团队绩效
  7. 经典网页设计:20个优秀的电子商务网站设计案例
  8. 六角填数(全排列)蓝桥杯真题
  9. c语言 long double 输出格式,c++ 什么是`long double`的格式说明符
  10. 定义int数组求所有奇数的和