“Spring Boot @Conditional 条件装配”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第4行: | 第4行: | ||
[[文件:和 @Conditional 相关的注解.png|缩略图|598x598像素|替代=|无]] | [[文件:和 @Conditional 相关的注解.png|缩略图|598x598像素|替代=|无]] | ||
− | === @ConditionalOnBean === | + | ==== @ConditionalOnBean ==== |
容器中存在指定类的组件的时候才会将当前注解的类的组件装配到容器中 | 容器中存在指定类的组件的时候才会将当前注解的类的组件装配到容器中 | ||
− | === @ConditionalOnMissingBean === | + | ==== @ConditionalOnMissingBean ==== |
容器中不存在指定类组件的时候才会将当前注解的类的组件装配到容器中 | 容器中不存在指定类组件的时候才会将当前注解的类的组件装配到容器中 | ||
− | === @ConditionalOnClass === | + | ==== @ConditionalOnClass ==== |
当 classpath 中有指定类的时候才会将当前注解的类的组件装配到容器中 | 当 classpath 中有指定类的时候才会将当前注解的类的组件装配到容器中 | ||
− | === @ConditionalOnMissingClass === | + | ==== @ConditionalOnMissingClass ==== |
当 classpath 中有没有指定类的时候才会将当前注解的类的组件装配到容器中 | 当 classpath 中有没有指定类的时候才会将当前注解的类的组件装配到容器中 | ||
− | === @ConditionalOnResource === | + | ==== @ConditionalOnResource ==== |
当 classpath 中存在指定资源的时候才会将当前注解的类的组件装配到容器中 | 当 classpath 中存在指定资源的时候才会将当前注解的类的组件装配到容器中 | ||
− | === @ConditionalOnJava === | + | ==== @ConditionalOnJava ==== |
当运行环境的 Java 版本号满足指定条件的时候才会将当前注解的类的组件装配到容器中 | 当运行环境的 Java 版本号满足指定条件的时候才会将当前注解的类的组件装配到容器中 | ||
− | === @ConditionalOnWebApplication === | + | ==== @ConditionalOnWebApplication ==== |
当是一个 Web 应用的时候才会将当前注解的类的组件装配到容器中 | 当是一个 Web 应用的时候才会将当前注解的类的组件装配到容器中 | ||
− | === @ConditionalOnNotWebApplication === | + | ==== @ConditionalOnNotWebApplication ==== |
当不是一个 Web 应用的时候才会将当前注解的类的组件装配到容器中 | 当不是一个 Web 应用的时候才会将当前注解的类的组件装配到容器中 | ||
− | === @ConditionalOnSingleCandidate === | + | ==== @ConditionalOnSingleCandidate ==== |
表示当指定Bean在容器中只有一个,或者虽然有多个但是指定首选Bean(primary)的时候 | 表示当指定Bean在容器中只有一个,或者虽然有多个但是指定首选Bean(primary)的时候 | ||
…… | …… | ||
+ | |||
+ | |||
+ | === 测试使用 @ConditionalOnBean 进行条件装配 === |
2023年2月12日 (日) 12:39的版本
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)的时候
……