java注解

基础注解

1. @Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})

  > 指定注解作用域,METHOD方法、FIELD字段、ANNOTATION_TYPE注解、CONSTRUCTOR构造器、PARAMETER参数、TYPE_USE类

2. @Retention(RetentionPolicy.RUNTIME)

  > 指定注解活性期:RUNTIME运行时,CLASS编译后

3. @Constraint

  > 校验注解,创建类继承ConstraintValidator,重写isValid方法来自定义校验逻辑

示范:

@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(
    validatedBy = {InEnumConstrainValidator.class}
)
//声明注解
public @interface InEnum {
    //成员变流量 ps:注解中的成员变量定义特殊: 类型 字段名();
    Class<? extends Enum> value();
    String message() default "必须在范围{}内";

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

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

 

posted @ 2021-10-19 09:39  绝不是木头  阅读(25)  评论(0)    收藏  举报