“Spring Boot 常见注解”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第8行: 第8行:
  
 
=== @Conditional ===
 
=== @Conditional ===
 +
spring-context-x.x.x.jar 中的注解
 +
 +
https://docs.spring.io/spring-framework/docs/5.3.1/javadoc-api/
 +
 +
表示组件只有在所有指定条件都匹配时才有资格注册。
 +
 +
可以是 bean 从定义到注册之前以编程方式确定的任何状态。
 +
  
  

2023年1月31日 (二) 02:00的版本

@Bean

spring-context-x.x.x.jar 中的注解

https://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch02s02.html

@Bean 是一个方法级注释,是 XML <bean/> 元素的直接模拟。


@Conditional

spring-context-x.x.x.jar 中的注解

https://docs.spring.io/spring-framework/docs/5.3.1/javadoc-api/

表示组件只有在所有指定条件都匹配时才有资格注册。

可以是 bean 从定义到注册之前以编程方式确定的任何状态。



@ConditionalOnClass

https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/api/index.html?org/springframework/boot/autoconfigure/condition/ConditionalOnClass.html

只有当指定的类在类路径上时才匹配。



@ConditionalOnMissingBean

https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/api/index.html?org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBean.html

仅当指定的 bean 类和/或名称尚未包含在 BeanFactory 中时才匹配。


@ConditionalOnProperty

https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/api/index.html?org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBean.html

条件检查指定的属性是否具有特定值。

默认情况下,属性必须存在于环境中并且不等于 false。

havingValue() 和 matchIfMissing() 属性允许进一步定制。