“Spring Boot @Conditional 条件装配”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第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)的时候

……


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