当前位置: 首页> 健康> 养生 > 自定义注解

自定义注解

时间:2025/7/11 17:44:23来源:https://blog.csdn.net/m0_72015215/article/details/139928660 浏览次数:0次

自定义注解

 自定义注解

 

 

 元注解

修饰注解的注解。

 注解的解析

 

 

解析类上的注解 

 

注解的应用场景

 

State自定义注解 

import com.itheima.validation.StateValidation;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;import java.lang.annotation.*;
import java.lang.reflect.Field;@Documented  // 元注解,用来标识state注解可以用来抽取到帮助文档中的
//  @Target标识将来用在哪些地方
@Target({ElementType.FIELD})  //  例如 类上、属性上、方法上、参数上  
//  该注解用在属性上  所以为FIELD
@Retention(RetentionPolicy.RUNTIME)  //  注解保留在运行阶段
@Constraint(validatedBy = {StateValidation.class})  //  谁提供校验的规则  指定提供校验规则的类public @interface State {//  校验失败后的信息String message() default "state参数的值只能是已发布或者草稿";//  指定分组Class<?>[] groups() default {};//  负载  获取到State注解的附加信息Class<? extends Payload>[] payload() default {};
}

 StateValidation.java 

 

import com.itheima.anno.State;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;//                       ConstraintValidator<给哪个注解提供校验规则, 校验的数据类型>
public class StateValidation implements ConstraintValidator<State, String> {@Override              // String value 将来要校验的数据public boolean isValid(String value, ConstraintValidatorContext context) {//  提供校验规则if (value == null) {return false; //  return false; 返回false校验不通过}if (value.equals("已发布") || value.equals("草稿")) {return true;}return false;}
}

关键字:自定义注解

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: