@DependsOn @ConditionOnBean @ConditionOnMissingBean @Conditional 注解的含义

都是Spring初始化时,加载Bean的条件判断
@DependsOn 表示需要依赖于某个Bean加载完成之后,再加载,时依赖关系

@ConditionOnBean
表示加载当前Bean需要 某个Bean也加载了,不是强依赖关系,并不会去加载这个依赖的Bean
需要容器自己已经加载了这个Bean,它才再加载,否则不加载。也就是都有,或者都没有

@ConditionOnMissingBean
正好与@ConditionOnBean注解相反,当容器不存在某个Bean,我就加载我这个Bean,否则容器中已经有了某个Bean,我当前Bean就不加载

@Conditional
该注解可以理解为是@ConditionOnBean、@ConditionOnMissingBean的父类注解,都是靠@Conditional注解机制实现的
如:@ConditionalOnBean注解,是加了@Conditional注解的,下图所示

@ConditionOnMissingBean注解如下

可以通过自定义Condition继承SpringBootCondition的模板方法,实现Condition接口的matches方法,返回 boolean是否匹配成功

posted @   vello  阅读(223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示