Spring注解@Conditional如何实现条件化配置案例详解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计949个文字,预计阅读时间需要4分钟。
【1】@Conditional介绍:@Conditional是Spring4提供的一种注解,用于根据一定条件判断是否执行某些操作。它的作用是,根据条件满足与否,决定是否给容器注册bean。源码示例:// 此注解可以标注在类或方法上 @Target({ElementType.TYPE, ElementType.METHOD})
@Conditional介绍
@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。
@Conditional源码:
//此注解可以标注在类和方法上 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Conditional { Class<? extends Condition>[] value(); }
从代码中可以看到,需要传入一个Class数组,并且需要继承Condition接口:
public interface Condition { boolean matches(ConditionContext var1, AnnotatedTypeMetadata var2); }
Condition是个接口,需要实现matches方法,返回true则注入bean,false则不注入。
本文共计949个文字,预计阅读时间需要4分钟。
【1】@Conditional介绍:@Conditional是Spring4提供的一种注解,用于根据一定条件判断是否执行某些操作。它的作用是,根据条件满足与否,决定是否给容器注册bean。源码示例:// 此注解可以标注在类或方法上 @Target({ElementType.TYPE, ElementType.METHOD})
@Conditional介绍
@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。
@Conditional源码:
//此注解可以标注在类和方法上 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Conditional { Class<? extends Condition>[] value(); }
从代码中可以看到,需要传入一个Class数组,并且需要继承Condition接口:
public interface Condition { boolean matches(ConditionContext var1, AnnotatedTypeMetadata var2); }
Condition是个接口,需要实现matches方法,返回true则注入bean,false则不注入。

