首发地址:Spring条件注解@Conditional,SpringBoot中组合条件你知道吗?
导读:当我们构建一个 Spring 应用的时候,有时我们想在满足指定条件的时候才将某个 bean 加载到应用上下文中, Spring 4提供了一个更通用的基于条件的Bean的创建方式,即使用@Conditional注解,我们可以通过 @Conditional 注解来实现这类操作。
我们看到 @Conditional 注解接收的参数是 extends Condition 接口的泛型类,也就是说,我们要使用 @Conditional 注解,只需要实现 Condition 接口并重写其方法即可:
简单找下Spring家族其他的案例实现SpringBootCondition
Spring Boot使用的所有Condition实现的基础。提供合理的日志记录,以帮助用户诊断要加载的类。
无意中在网上看到一种比较形象的理解:如果将Application Context 比作大厅,Spring Boot 在 @Conditional 注解的基础上进行了细化,无需出示复杂的介绍信 (实现 Condition 接口),只需要手持预定义好的 @ConditionalOnXxxx 注解印章的门票,如果验证通过,就会走进 Application Context 大厅
SpringBoot Condition 拓展实现
逐个打开这 13 个注解,我们发现这些注解上有相同的元注解
从这些标记上我们可以了解如下内容:
其实用法都大同小异,看了源码以后发现原理很简单,这里简单归纳下用法:
除了自己自定义Condition之外,Spring还提供了很多Condition给我们用
到这里,你已经了解了如何灵活配置 bean,希望大家打开 IDE,自行查看这些注解,了解更多具体内容。(共勉:多看源码,学习大神的代码设计)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。