应用场景
在日常开发过程中,很多时候我们需要控制一个bean是否需要加载,例如我们自定义了一个redis的start,这些start的核心类的注入放到了config里面去统一管理,这个时候我们需要通过在配置文件里面的简单配置,达到开启redis功能的效果,就可以用@ConditionalOnProperty来实现
参数介绍
- prefix:可选参数,指定配置文件中的前缀
- name:必填参数,指定配置项的名字
- havingValue:可选参数,用于指定与配置项的值进行对比的值。如果配置项的值与该值相同,则返回true,否则返回false,这个参数决定了当前配置是否会加载
- matchIfMissing:可选参数,用于指定当配置项不存在时是否需要匹配
替换方案 @ConditionalOnExpression
ConditionalOnExpression 可以通过SPEL表达式、读取配置文件属性来让IOC容器选择性的扫描加入指定的某个Bean。