java springboot2.7 JSR303与Hibernate进行Bean的数据校验

我们如果对数据能进行格式校验 做个安全检查就会容易很多
其实 各个系统中都必然后拥有数据校验,这也不是新东西
J2EE规范中JSR303就规范定义了一组有关数据校验的API

首先 我们在 pom.xml 中 注入依赖

<dependency>
   <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
</dependency>

这里 我们不需要去声明版本 因为 我们项目的配置会自动帮你找到适配的坐标

这是个什么东西呢? 大个比方 JDBC都用过吧? 那么 它是一个接口 我们数据库驱动才是具体的实现类 接口提供了规范 实现方式必须符合规范 而我们这个 也是一个规范

然后 我们可以打开需要数据校验的类 放上 Validated 表示 我们要对他进行数据校验
在这里插入图片描述
但这里 我们只是声明了 要对这个类做字段校验 具体校验谁?怎么校验? 都没有说清楚
比如 我们要设置个最大值不可超过 我们可以 用 validation 中提供的 Max 注解来实现 value是设置最大不能超过多少 message 则表示 如果超过了 给什么样的提示
在这里插入图片描述
同理 我们可以设置最小
在这里插入图片描述
然后 我们先将最小的校验注释掉 然后 运行项目看一下
这里 我们会遇到一个错误 简单说 你这个数据校验的接口 并没有东西去实现它
在这里插入图片描述
这下面它有个我们提示 Hibernate 校验器
在这里插入图片描述
这里还是一样的 在pom.xml中注入依赖

<dependency>
	<groupId>org.hibernate.validator</groupId>
	<artifactId>hibernate-validator</artifactId>
</dependency>

还是不用去纠结它的版本坐标 它会自动帮我们导入适配的 你手动导入 才可能出现版本不适配的情况

注入之后 我们启动项目 就一切正常了
在这里插入图片描述
然后 我们触发逻辑 去拿这个属性类的属性 这里 他是个 负一 那么 肯定是触发不到最大值的
在这里插入图片描述
这里 我们给他来个 9999
在这里插入图片描述
这样 我们启动项目时 他就直接报错了
在这里插入图片描述
这个报错信息 我觉得还是非常厉害的 信息可以说非常全面
告诉我们发生的位置 我们还可以自己写错误信息
其实他的规则还是非常多 全面 这个大家要用数据校验可以去查一查validation 还是非常好用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值