条件装配:满足 Conditional 指定的条件,则进行组件注入。

@Conditional 是一个根注解,下面派生了非常多的子注解。
image.png

我们以其中几个具有代表性的为例,简单讲讲。

一些 Conditional 的派生注解

@ConditionalOnBean

当容器中存在指定的Bean,我们才干某些事情

@ConditionalOnMissingBean

当容器中不存在指定的Bean,我们才干某些事情

@ConditionalOnClass

当容器中存在指定的类时,我们才干某些事情

@ConditionalOnMissingClass

当容器中不存在指定的类时,我们才干某些事情

@ConditionalOnResource

当项目的类路径中存在某个资源时,我们才干某些事情

@ConditionalOnJava

指定的Java版本号时才干什么

@ConditionalOnWebApplication

当应用是一个web应用时,我们才干某些事情

等等。