作用
当我们在启动 Spring 容器加载Bean时,想要限制某些Bean在某些条件下才被加载到容器中,这是我们即可通过注解@Conditional...,当然该注解下绝大条件。
注解详情
通过查看可以看到 @Conditional有很多注解,功能相同,适用于不同的条件
-
ConditionalOnBean:当容器中加载了某个Bean时,该注解下的Bean才会被加载
-
ConditionalOnMissingBean:当容器中没有加载了某个Bean时,该注解下的Bean才会被加载
-
ConditionalOnProperty:在配置文件中配置的相关条件满足时才会加载当下bean,属性matchIfMissing控制配置文件中为配置相关条件是否加载。
-
ConditionalOnExpression: 如果有更复杂的多个配置属性条件,支持SpEL表达式;感觉应用场景少,一般来说Bean加载的限制条件不多
- 其他的一些也是不同条件应用,使用不多,需要再介绍