Spring Boot @Conditional 条件装配

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV19K4y1L7MT/?p=10

@Conditional 指定满足指定条件,才会将组件装配到容器中,IDEA 中 F4

@ConditionalOnBean

容器中存在指定类的组件的时候才会将当前注解的类的组件装配到容器中

@ConditionalOnMissingBean

容器中不存在指定类组件的时候才会将当前注解的类的组件装配到容器中

@ConditionalOnClass

当 classpath 中有指定类的时候才会将当前注解的类的组件装配到容器中

@ConditionalOnMissingClass

当 classpath 中有没有指定类的时候才会将当前注解的类的组件装配到容器中

@ConditionalOnResource

当 classpath 中存在指定资源的时候才会将当前注解的类的组件装配到容器中

@ConditionalOnJava

当运行环境的 Java 版本号满足指定条件的时候才会将当前注解的类的组件装配到容器中

@ConditionalOnWebApplication

当是一个 Web 应用的时候才会将当前注解的类的组件装配到容器中

@ConditionalOnNotWebApplication

当不是一个 Web 应用的时候才会将当前注解的类的组件装配到容器中

@ConditionalOnSingleCandidate

表示当指定Bean在容器中只有一个,或者虽然有多个但是指定首选Bean(primary)的时候

……


测试使用 @ConditionalOnBean 进行条件装配