Spring Boot的条件注解总结

版权声明:欢迎转载,记得前排留名哦☞ https://blog.csdn.net/qq_31142553/article/details/86439950

Spring Boot的条件注解位于org.springframework.boot.autoconfigure.condition包下,其对应的处理类在它上面的Conditional注解里声明。

Spring Boot的条件注解
注解 处理类 说明
ConditionalOnBean OnBeanCondition 指定的bean都在Spring容器中时才匹配。
ConditionalOnClass OnClassCondition 指定的类都在classpath上时才匹配。
ConditionalOnCloudPlatform OnCloudPlatformCondition 指定的云平台处于活动状态时才匹配。
ConditionalOnExpression OnExpressionCondition 指定SpEL表达式成立时才匹配。
ConditionalOnJava OnJavaCondition 指定Java版本符合要求时才匹配。
ConditionalOnJndi OnJndiCondition JNDI可用和可以查找指定位置时才匹配。
ConditionalOnMissingBean OnBeanCondition Spring容器中缺少对应的bean时才匹配。
ConditionalOnMissingClass OnClassCondition classpath中缺少指定的类时才匹配。
ConditionalOnNotWebApplication OnWebApplicationCondition 应用程序为非Web程序时才匹配。
ConditionalOnProperty OnPropertyCondition 应用环境中指定的属性存在时才匹配。
ConditionalOnResource OnResourceCondition 指定的资源文件存在时才匹配。
ConditionalOnSingleCandidate OnBeanCondition Spring容器中存在且只存在一个对应的实例时才匹配。
ConditionalOnWebApplication OnWebApplicationCondition 应用程序为Web程序时才匹配。

下面再补充一下几个功能接口

Spring的功能接口
接口名称 主要方法及功能
ApplicationContextAware void setApplicationContext(ApplicationContext applicationContext) throws BeansException:实现了该接口的bean,可以从此方法获取它所在的容器上下文环境。
InitializingBean void afterPropertiesSet() throws Exception:实现了该接口的bean,在初始化的时候会执行此方法。
BeanPostProcessor

default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException:执行实例化之前的一些逻辑。

default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException:实执行实例化之后的一些逻辑。

猜你喜欢

转载自blog.csdn.net/qq_31142553/article/details/86439950