0
点赞
收藏
分享

微信扫一扫

springboot 注解 condition

niboac 2022-02-13 阅读 71

1、可以看到是返回的是Class类

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Conditional {

   /**
    * All {@link Condition} classes that must {@linkplain Condition#matches match}
    * in order for the component to be registered.
    */
   Class<? extends Condition>[] value();

}

2、上面的类是一个函数式接口的子类

@FunctionalInterface
public interface Condition {

   /**
    * Determine if the condition matches.
    * @param context the condition context
    * @param metadata the metadata of the {@link org.springframework.core.type.AnnotationMetadata class}
    * or {@link org.springframework.core.type.MethodMetadata method} being checked
    * @return {@code true} if the condition matches and the component can be registered,
    * or {@code false} to veto the annotated component's registration
    */
   boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata);

}




3、代码

mycodition/src/main/java/com/zhonglv/mycodition · zhonglv/springboot - 码云 - 开源中国 (gitee.com)

举报

相关推荐

0 条评论