首页 > 解决方案 > 条件注释不会被触发

问题描述

我正在尝试使用@Conditional注释,但Condition似乎没有触发该类。我正在尝试在注释上使用它。

@Documented
@Constraint(validatedBy = CheckIdValidator.class)
@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Conditional(value=CheckIdCondition.class)
public @interface CheckId {
    String message() default "has invalid format";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};
}

CheckIdCondition 类

public class CheckIdCondition implements Condition {
    @Override
    public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
        return false;
    }
}

当我尝试使用现有测试(也带有调试点)触发它时,这不会达到并且旧测试通过。所以肯定不行。我怎样才能解决这个问题

标签: javaspring-boot

解决方案


推荐阅读