SpringBoot——@Conditional相关的条件注解汇总大全。

在Spring框架中, @Conditional 注解及其相关的条件注解可以根据特定条件来控制Bean的创建和装配。

1. @ConditionalOnProperty

基于配置属性的条件注解,根据配置文件中的属性值决定是否创建Bean。

@Configuration
@ConditionalOnProperty(name = "myapp.feature.enabled", havingValue = "true")
public class MyFeatureConfig {
}

2. @ConditionalOnBean

当指定的Bean存在时才会创建当前Bean。

@Configuration
@ConditionalOnBean(DataSource.class)
public class MyDatabaseConfig {
}

3. @ConditionalOnClass

当指定的类存在于类路径中时才会创建Bean。

@Configuration
@ConditionalOnClass(name = "org.springframework.data.redis.core.RedisTemplate")
public class RedisConfig {
}

4. @ConditionalOnMissingBean

指定的Bean不存在时才会创建当前Bean。

5. @ConditionalOnMissingClass

指定的类不存在于类路径中时才会创建Bean。

6. @ConditionalOnExpression

基于SpEL表达式的条件注解,根据表达式的结果决定是否创建Bean。

7. @ConditionalOnWebApplication

Web应用程序环境下才会创建Bean。

8. @ConditionalOnNotWebApplication

在非Web应用程序环境下才会创建Bean。

9. @ConditionalOnResource

当指定的资源存在时才会创建Bean。

10. @ConditionalOnJndi

指定的JNDI位置存在时才会创建Bean。

11. @ConditionalOnCloudPlatform

在特定云平台环境下才会创建Bean。

12. @ConditionalOnJava

基于Java版本的条件注解,根据Java版本决定是否创建Bean。

13. @ConditionalOnPropertyMissing

指定的属性值不存在时才会创建Bean。

14. @ConditionalOnSingleCandidate

当指定类型的Bean只有一个候选时才会创建Bean。

15. @ConditionalOnEnabledHealthIndicator

启用健康指标时才会创建Bean。

这些条件注解可以根据不同的条件来选择性地创建Bean,使得应用程序的配置更加灵活和可控。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值