@Conditional 注解有什么用?

@Conditional

@Conditional 是 Spring4 版本里面提供的注解,它的作用是给需要装载的 Bean 增加一个条件判断,只有满足条件的 Bean 才会装载到 IOC 容器。
@Conditional 注解的定义如图所示,从这个注解中可以了解到几个关键信息:
  • @Conditional 注解可以修饰在类或者方法上。
  • @Conditional 注解可以接收一个或多个实现了 Condition 接口的类。

matches 方法

Condition 接口的定义如图所示,它提供了一个返回值为 boolean 的 matches 方法,基于@Conditional 本身的作用不难猜出它应该是用来实现 Bean 是否能被装载的判断逻辑的。

@Conditional 注解既然是用来判断 Bean 是否能被装载的条件,那么意味着我们可以在 Bean 的描述逻辑上增加这样一个注解然后通过重写 Condition 接口的 matches 方法,自定义 Bean 装载的条件。比如下图这种使用方法,当 Spring 解析这个配置类的时候,HelloService 这个 bean是否能被装载到 IOC 容器,取决于CustomizeCondition里面的matches 方法的返回值,返回 true 才可以被装载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值