一、分组校验
步骤:
1.定义分组
2.定义校验项时指定归属的分组
3.校验时指定要校验的分组
1.如果说某个校验项没有指定分组,默认属于Default分组
2.分组之间可以继承,A extends B 那么A中拥有B中所有的校验项
public interface Add extends Default {
}
public interface Update extends Default{
}
总结:
二、自定义校验
步骤:
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
总结:
三、java字符串StringBuffer类知识反刍
StringBuffer类是Java中用于处理可变字符串的类。它是一个可变的、线程安全的字符串缓冲区,可以进行动态的字符串操作。以下是StringBuffer类相关知识点:
- 构造方法:StringBuffer类提供了多种构造方法,包括无参数的构造方法(创建一个长度为16的缓冲区),以及接受一个整数参数的构造方法(创建一个指定大小的缓冲区)。此外,还有一个接受字符串参数的构造方法,它会创建一个缓冲区,其容量是字符串长度加16。
- append方法:此方法可以将各种类型的Java数据(如整数、浮点数、布尔值等)转化为字符串后追加到StringBuffer对象中。
- insert方法:可以在指定的位置插入字符串或数据。
- delete方法:可以删除指定位置范围内的字符。
- replace方法:可以用指定的字符串替换指定位置范围内的字符。
- reverse方法:反转StringBuffer对象中的字符顺序。
elete方法:可以删除指定位置范围内的字符。 - replace方法:可以用指定的字符串替换指定位置范围内的字符。
- reverse方法:反转StringBuffer对象中的字符顺序。
- toString方法:将StringBuffer对象转换为String对象。