分组校验及自定义校验

一、分组校验

步骤:

1.定义分组

2.定义校验项时指定归属的分组

3.校验时指定要校验的分组

分组校验及自定义校验_第1张图片


1.如果说某个校验项没有指定分组,默认属于Default分组

2.分组之间可以继承,A extends B 那么A中拥有B中所有的校验项

public interface Add extends Default {

}
public interface Update extends Default{

}

总结:

分组校验及自定义校验_第2张图片

二、自定义校验

步骤:

1.自定义注解State

@Documented
@Constraint(
        validatedBy = {}
)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})
@Retention(RetentionPolicy.RUNTIME)
public @interface State {
    //提供校验失败后的提示信息
    String message() default "state参数的值只能是已发布或者草稿";
    //指定分组
    Class<?>[] groups() default {};
    //负载 获取到state注解的附加信息
    Class<? extends Payload>[] payload() default {};
}

2.自定义校验数据的类StateValiidation

public class StateValidation implements ConstraintValidator<State, String> {
    /**
     *
     * @param value 将来要校验的数据
     * @param constraintValidatorContext
     * @return 如果返回false,则校验不通过,返回ture,则校验通过
     */
    public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
        //提供校验规则
        if(value == null){
            return false;
        }
        if(value.equals("已发布") || value.equals("草稿")){
            return true;
        }
        return false;
    }
}

3.在需要校验的地方使用自定义注解

@State

总结:

分组校验及自定义校验_第3张图片

分组校验及自定义校验_第4张图片

三、java字符串StringBuffer类知识反刍

StringBuffer类是Java中用于处理可变字符串的类。它是一个可变的、线程安全的字符串缓冲区,可以进行动态的字符串操作。以下是StringBuffer类相关知识点:

  1. 构造方法:StringBuffer类提供了多种构造方法,包括无参数的构造方法(创建一个长度为16的缓冲区),以及接受一个整数参数的构造方法(创建一个指定大小的缓冲区)。此外,还有一个接受字符串参数的构造方法,它会创建一个缓冲区,其容量是字符串长度加16。
  2. append方法:此方法可以将各种类型的Java数据(如整数、浮点数、布尔值等)转化为字符串后追加到StringBuffer对象中。
  3. insert方法:可以在指定的位置插入字符串或数据。
  4. delete方法:可以删除指定位置范围内的字符。
  5. replace方法:可以用指定的字符串替换指定位置范围内的字符。
  6. reverse方法:反转StringBuffer对象中的字符顺序。
    elete方法:可以删除指定位置范围内的字符。
  7. replace方法:可以用指定的字符串替换指定位置范围内的字符。
  8. reverse方法:反转StringBuffer对象中的字符顺序。
  9. toString方法:将StringBuffer对象转换为String对象。

你可能感兴趣的:(学习,java,笔记,服务器)