非WEB项目中引入Hibernate Validator
前言:
网上一些朋友分享了关于hibernate-validator的使用方法,但是不是缺少关联库信息,就是提供的参考代码中缺少自定类。
希望我这一篇博客能够让你顺利的跑出预期的结果。
如果有错,可以给我留言。
英文好的朋友可以参考官网的getting started。
http://hibernate.org/validator/documentation/getting-started/
一、环境
hibernate-validator库必须运行的JDK版本为1.6及以上。
二、hibernate-validator库及依赖
classmate-1.3..jar
hibernate-validator-5.3..Final.jar
javax.el-2.2..jar
javax.el-api-2.2..jar
jboss-logging-3.3..Final.jar
validation-api-1.1..Final.jar
三、假设我们构造了一个Car类
public class Car { @NotNull
private String manufacturer; @NotNull
@Size(min = , max = )
private String licensePlate; @Min()
private int seatCount; public Car(String manufacturer, String licencePlate, int seatCount) {
this.manufacturer = manufacturer;
this.licensePlate = licencePlate;
this.seatCount = seatCount;
} public String getManufacturer() {
return manufacturer;
} public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
} public String getLicensePlate() {
return licensePlate;
} public void setLicensePlate(String licensePlate) {
this.licensePlate = licensePlate;
} public int getSeatCount() {
return seatCount;
} public void setSeatCount(int seatCount) {
this.seatCount = seatCount;
} }
四、如何校验呢?我们看看这个测试类
public class CarTest { public static void main(String[] args) {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Car car = new Car(null, "苏A999999", ); Set<ConstraintViolation<Car>> constraintViolations = validator.validate(car);
for (ConstraintViolation<Car> constraintViolation : constraintViolations)
System.out.println("错误:" + constraintViolation.getMessage());
}
}
五、结果如何?
十一月 , :: 下午 org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 5.3..Final
错误:不能为null
错误:最小不能小于2
六、真是简单易用!虽然这个库重复“发明”了轮子。
七、你注意到了吗?结果是自动国际化了的!
非WEB项目中引入Hibernate Validator的更多相关文章
- spring 项目中使用 hibernate validator验证输入参数
1 hibernate validator 官方文档:https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_si ...
- 非web项目中使用XDT的实例(续)
简化 上个实例中,我们是引用了target文件来遍历项目中的xdt项. 当项目比较小,我们又只需要针对固定的config文件进行更替时,可以使用更简化的方法 不进行项目配置文件中的插入<Impo ...
- java web项目中引入spring
自己动手实践了一次,发生中间出了一下问题,现整理出来,供参考. Step1: 新建一个java web项目 Step2:下载spring的jar包http://repo.spring.io/libs- ...
- web项目中引入jquery easyui
jQuery easyui是一个基于jquery的用户界面插件集合,可以做出各种炫酷页面效果,大中型项目都可以使用些框架,非常好用,而且它有中文网,提供了大量的demo.下面我们看怎么将它引入到项目中 ...
- Log4j2在WEB项目中配置
最近决定在新WEB项目中使用新的日志系统Log4j2. 官方介绍和学习文档网址为http://logging.apache.org/log4j/2.x/ 首先在WEB项目中引入以下几个jar包: ① ...
- 转载 Log4j2在WEB项目中配置
最近决定在新WEB项目中使用新的日志系统Log4j2. 官方介绍和学习文档网址为http://logging.apache.org/log4j/2.x/ 首先在WEB项目中引入以下几个jar包: ① ...
- 转 web项目中的web.xml元素解析
转 web项目中的web.xml元素解析 发表于1年前(2014-11-26 15:45) 阅读(497) | 评论(0) 16人收藏此文章, 我要收藏 赞0 上海源创会5月15日与你相约[玫瑰里 ...
- Java web项目中java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
原来是tomcat找不到MYSQL JAR包的问题.后来又把mysql-connector-java-5.1.7-bin.jar导入到tomcat的lib目录下面就ok了,嘿…… 在java项目中,只 ...
- 【.net深呼吸】非 Web 项目使用缓存
从.net 4 开始,非web项目也可以使用缓存技术,故曰:.net 4 乃框架成熟之标志也. 对于缓存嘛,耍过 ASP.NET 的伙伴们肯定知道,这么说吧,就是将一些使用频率较高的数据放于内存中,并 ...
随机推荐
- HTML中禁用表单控件的两种方法readonly与disabled
时候我们会希望表单上的控件是不可修改的,比如在修改密码的网页中,显示用户名的文本框就应该是不可修改状态的,下面与大家分享下禁用表中控件的两种方法 在网页的制作过程中,我们会经常使用到表单.但是有时候我 ...
- 解决Windows下运行php Composer出现SSL报错的问题
解决Windows下运行php Composer出现SSL报错的问题 2015-01-14 20:05 在windows下运行composer却出现SSL报错: E:\www>php -f ...
- [转]Ubuntu下使用Jni开发例子
http://www.cnblogs.com/zxglive2006/archive/2012/01/15/2323110.html 先用eclipse 创建 Java Project; 然后直接 ...
- Codevs 1021 玛丽卡
Codevs 1021 玛丽卡 题目地址:http://codevs.cn/problem/1021/ 题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他 ...
- CSS之border-radius
1.圆角设置 CSS3圆角只需设置一个属性:border-radius(含义是"边框半径").你为这个属性提供一个值,就能同时设置四个圆角的半径.所有合法的CSS度量值都可以使用: ...
- MVC中的视图
视图的作用: 检查由路由器提交的模型对象, 将其内容转换为HTML格式. 指定视图的两种方式, 代码如下: return View("NotIndex"); return View ...
- Cross-site Scripting (XSS) 阅读笔记
本文源自 https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 通过阅读和翻译,并按照自己的理解,整理成如下文档. 概述 XSS ...
- 本图片处理类功能非常之强大可以实现几乎所有WEB开发中对图像的处理功能都集成了,包括有缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等功能
import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...
- 微软 .net 你更新这么快IDE vs2015 、语法糖 6.0、framework、‘吹得这么牛,然并用
好久没写吐槽文章了,因为无尽的加班,也因为工作的变迁,又因为最近看了微软又尼玛发布什么什么,好受不了. 今年大专毕业第八个年头了,人也到了30,真是光阴荏苒啊.最近这一两年发生了很多事,让我自己倍受打 ...
- paper 102:极限学习机(Extreme Learning Machine)
原文地址:http://blog.csdn.net/google19890102/article/details/18222103 极限学习机(Extreme Learning Machine) ...