@ConditionalOnClass、@ConditionalOnMissing、@ConditionalOnProperty注解的使用

Spring Boot框架中的条件注解,用于控制Bean的创建和配置。

  • @ConditionalOnClass:当指定的类存在时,才会创建对应的Bean。例如:
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyConfiguration {

    @Bean
    @ConditionalOnClass(MyDependency.class)
    public MyBean myBean() {
        return new MyBean();
    }
}

只有当项目中包含MyDependency类时,才会创建myBean实例。 

  • @ConditionalOnMissing:当指定的属性不存在时,才会创建对应的Bean。例如:
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissing;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyConfiguration {

    @Bean
    @ConditionalOnMissing(value = "my.property", havingValue = "true")
    public MyBean myBean() {
        return new MyBean();
    }
}

只有当配置文件中没有my.property=true这个属性时,才会创建myBean实例。

  • @ConditionalOnProperty:当指定的属性存在且满足指定的条件时,才会创建对应的Bean。例如:
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyConfiguration {

    @Bean
    @ConditionalOnProperty(name = "my.property", havingValue = "true")
    public MyBean myBean() {
        return new MyBean();
    }
}

只有当配置文件中存在my.property=true这个属性时,才会创建myBean实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值