package com.cloudwing.dfs.common.validation.constraints;
import org.apache.commons.lang.StringUtils;
import javax.validation.Constraint;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import javax.validation.Payload;
import java.lang.annotation.*;
/**
* Create by cjf on 2018/9/20.
*/
@Documented
@Constraint(validatedBy = ParamValidate.ValidStringChecker.class)
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface ParamValidate {
String message() default "";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
/**
* 只允许出现的字符
* @return
*/
String[] limitStr() default {""};
class ValidStringChecker implements ConstraintValidator<ParamValidate,String> {
String[] list;
@Override
public void initialize(ParamValidate arg
Java自定义注解
最新推荐文章于 2024-04-19 21:37:45 发布
本文详细探讨了Java自定义注解的原理与实践,包括注解的创建、使用、元注解以及如何在运行时处理注解信息。通过实例解析,帮助读者掌握在实际开发中有效利用自定义注解提升代码可读性和可维护性。
摘要由CSDN通过智能技术生成