当前位置: 首页 > news >正文

@Conditional

@Conditional

@Conditional 是 spring framework 中提供的一个条件注解,,满足条件就注入,不满足就不注入ioc
@Condtional 需要和 Condition接口 一起用:
在这里插入图片描述
返回true注入,返回false不注入,, 里面有一个 ConditionContext 这个接口

  • 可以获取bean的定义BeanDefinitionRegistry
  • 获取配置信息,资源加载信息 Environment
  • 获取其他bean信息,BeanFactory

在@Component注入ioc的bean上面都可以加 @Conditional注解,判断是否加入IOC

@Conditional的成品注解

spring framework 中提供了很多@Conditional 的成品注解:

  • @ConditionalOnProperty
    判断配置文件和你设置的值一不一样,,
    // 判断是否有 app.fruit的配置, 
    //  matchIfMissing :  如果没有也让他注入
    @ConditionalOnProperty(prefix = "app",name = "fruit",matchIfMissing = true)
    
    // 判断配置文件 `fruit.name` 的值,是否和自己设置的值一样,一样就注入
    // matchIfMissing : 不管是否为true,都只会按照判断的结果来注入@ConditionalOnProperty(value = "fruit.name",havingValue = "apple")
    
    引用:https://blog.csdn.net/qq_42145871/article/details/118310230
  • @ConditionalOnBean
    ioc中存在指定的bean,注入
    // 存在名字为 mysql的 bean 就注入@ConditionalOnBean(name = "mysql")
    
  • @ConditionalOnMissingBean
http://www.lryc.cn/news/97125.html

相关文章:

  • 【Linux】网络基础之TCP协议
  • Java设计模式之装饰器(Decorator)模式
  • element ui树组件render-content 树节点的内容区的渲染另一种方式
  • html a标签换行显示
  • 关于Redis-存Long取Integer类型转换错误的问题
  • 设计模式一:简单工厂模式(Simple Factory Pattern)
  • 如何利用plotly和geopandas根据美国邮政编码(Zip-Code)绘制美国地图
  • ceph集群搭建
  • 前端密码加密 —— bcrypt、MD5、SHA-256、盐
  • 汽车UDS诊断深度学习专栏
  • macOS 下安装brew、nvm
  • 【云原生】Kubernetes工作负载-StatefulSet
  • Java:方法的重载
  • 7.react useCallback与useMemo函数使用与常见问题
  • Sentinel限流中间件
  • 使用ajax进行前后端交互的方法
  • 动手学深度学习——线性回归从零开始
  • Redis缓存击穿
  • 网络安全(黑客)自学的一些建议
  • 全志F1C200S嵌入式驱动开发(基于usb otg的spi-nor镜像烧入)
  • 如何恢复损坏/删除的 Word 文件
  • 【论文阅读】Feature Inference Attack on Shapley Values
  • TDesign 中后台系统搭建
  • Android 实现阅读用户协议的文字控件效果
  • 19.主题时钟
  • ChatGPT在智能电子设备中的应用如何?
  • MGRE之OSPF实验
  • 【Selenium+Pytest+allure报告生成自动化测试框架】附带项目源码和项目部署文档
  • 如何负载均衡中的日志统一管理
  • Java_26_Stream流