spring数据校验Validation

文章目录

需要的依赖

xml 复制代码
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-validation</artifactId>
</dependency>

创建校验对象Validator

测试的实体类

java 复制代码
//创建实体类,定义属性及方法,供校验测试
@Data
public class Person {
	@NotBlank(message = "名称不能为空")
	@Size(max = 255, message = "名称长度不能超过255个字符")
    private String name;
    private int age;
}

校验案例

java 复制代码
public static void main(String[] args) {
    // 校验的对象
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
    // 需要校验的数据
    Person person = new Person();
    // 校验结果,如果有校验未通过的则返回校验未通过的信息
    Set<ConstraintViolation<Person>> validate = validator.validate(person);
    // 经校验信息转成list并打印
    System.out.println("===" + validate.stream().map(ConstraintViolation::getMessage).collect(Collectors.toList()));
}

创建Validator工具类

java 复制代码
public class ValidationUtil {

    private static final Validator validator;

    static {
        try (ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) {
            validator = factory.getValidator();
        }
    }

    public static <T> List<String> validate(T t) {
        return validator.validate(t).stream().map(ConstraintViolation::getMessage).collect(Collectors.toList());
    }
}
相关推荐
cfm_29144 分钟前
Leaf-segment号段模式
java
Wang's Blog6 分钟前
Java 项目实战: 交友项目 - 发布圈子动态:数据库表和接口文档介绍
java·数据库·交友
paopaokaka_luck7 分钟前
智慧电玩店管理系统(空闲机台随机分配、游玩时长概率模拟、积分自动结算、积分兑换闭环、 ECharts经营分析、 腾讯地图选址)
java·人工智能·mysql·echarts·推荐算法
武子康18 分钟前
Embedding 替换怎么评测:把索引成本算进成功任务
人工智能·后端·agent
LMT流氓兔28 分钟前
第五单元——第9课:防止同一次操作重复执行
java·服务器·数据库·算法·ai·langchain
OxYGC37 分钟前
Spring 面经系列 · 第 6 篇:Spring MVC 请求全流程、父子容器与零配置原理
java·spring·mvc
code2cat40 分钟前
Java高级篇之JDBC:连接数据库,完成查询、更新与事务
java·开发语言·数据库
bksczm1 小时前
Redis数据结构之string
java·redis·mybatis
cc_瀚海知行1 小时前
资料检索 1|直接放入全文、按需读文件和先检索,有什么区别?
java·人工智能·ai
BioRunYiXue1 小时前
使用docker分析高通量测序数据
java·数据库·人工智能·spring cloud·docker·tomcat·html