基于Hibernate校验器组件实现Web开发中的校验逻辑(1)
热门软件下载:
正文:
【51cto.com独家特稿】一、简介
虽然在web应用程序的多个层内加入相应的数据校验功能都十分必要,但是以前实现这项任务是相当费时的,这使得许多开发者干脆略过它—这明显会带来一系列的问题。但是,随着在最新版本的java平台中引入了注解概念,校验问题容易得多了。在本文中,我将向你展示在你的web应用程序中使用hibernate注解中的校验器(validator)组件来构建和维护校验逻辑是多么容易的事情。
二、预备知识
阅读本文前,你应该对下列内容有一个基本了解:java 5.0(具体地说是其中的“注解”概念);jsp 2.0(因为我在一个tld中创建标签文件和定义函数,它们都是jsp 2.0新引入的特征);还有hibernate和spring框架。另外请注意,即使没有使用hibernate实现持久性存储,你也可以在自己的应用程序中使用hibernate validator。
与以前的版本相比,java se 5增加了许多改进,也许再也没有比注解更为重要的了。借助于注解,你可以最终为你的java类构造出一种标准的、一流的元数据框架。多年以来,hibernate用户一直是手工地编写*.hbm.xml文件(或使用xdoclet自动完成这一任务)。如果你手工地创建xml文件的话,相应于每一种需要的持久性属性,你都必须更新两个文件(类定义和xml映射文档)。尽管使用hibernatedoclet可以简化这一工作(具体示例请参考列表1),但是要求你确保你的hibernatedoclet版本支持你想使用的hibernate版本。另一方面,这种doclet信息在运行时刻还不可用,因为它被编码成javadoc风格的注释。列表2中的hibernate注解对这些选择进行了改进—提供一个标准的简明的映射类,而且在运行时刻可用。
列表1.使用hibernatedoclet创建的hibernate映射代码
/** |
列表2.使用hibernate注解创建的hibernate映射代码
@notnull |
如果你使用hibernatedoclet,那么,只有到生成xml文件或在运行时刻你才能捕获错误。借助于注解,你能够检测编译时刻中的许多错误;或者,如果你使用的是一种优秀的ide的话,在编辑期间也能够检测出许多错误。当从头创建一个应用程序时,你可以利用hbm2ddl工具来由hbm.xml文件为你的数据库生成ddl。特别注意:name属性的最大长度不超过60个字符,也就是说,ddl应该添加一个“not null”型约束—从hibernatedoclet入口添加到ddl中。当你使用注解时,你可以用一种与此类似的方式自动地生成ddl。
尽管上面列举的两种代码映射方案都可以使用;但是,相比之下,注解具有更为清晰的优点。借助于注解,你可以使用约束来指定长度或其它值。你将拥有更快的构建周期而不需要生成xml文件。最大优点是,你能够在运行时刻存取有用的信息,例如一个“not null”注解或长度。除了在列表2展示的注解之外,你还可以指定校验约束。其中,一些非常有用的约束列举如下:
◆@max(value=100)
◆@min(value=0)
◆@past
◆@future
◆@email
在适当的情况下,这些注解将会导致可以使用ddl生成检查约束(显然,@future并不是一种合适的情形)。你还能够据自己的需要创建定制的约束注解。
| 共5页: 1 [2] [3] [4] [5] 下一页 |
- · 平面设计软件都有哪些?
- · 施工组织设计
- · 课程设计心得
- · 数据结构课程设计——猴子选大王问题
- · photoshop9.0
- · photoshop软件
- · 哪有photoshop教程下载
- · photoshop笔刷
- · photoshop作品
- · 为什么我安装外挂滤镜 再启动photoshop8.01就会出现找不到文件
- · 通过日志恢复MS SQL数据案例
- · 基于Spring+Hibernate+Eclipse进行敏捷Java开发(1)
- · CA精简什么?——CA EXPO现场亲历
- · Wyse推首个企业桌面虚拟化运算参考平台
- · 浪潮签约英特尔 成为国内首家PSR战略伙伴
- · Oracle同JDE和Peoplesoft用户蜜月结束
- · 开源对象数据库db4o 6.0版本发布
- · Sun执行副总裁谈企业策略-开源无偿 服务有价
- · Windows Vista 能否引发安全革命?(1)
- · SUN公司CEO驳斥“开源软件不安全”论
- · 季度定期补丁 Oracle修补101个安全漏洞
- · Google升级图书搜索 体验酷似AcrobatReader
- · 中国首家自主研发的WIKI系统宣布开源
- · 甲骨文、IBM、微软列季度数据库市场前三
- · 名企进名校精选IT人 07年毕业生就业看好
- · 艾瑞发布《2006网络求职者研究报告》(1)
- · 职业教育专家提醒:大一开始就培养职业观念
- · 互联网企业融资新途径出现
- · IBM吸纳280名应届毕业生 周伟焜颁发聘用证书
- · 女性对IT业敬而远之 厌倦IT业工作强度(1)
- · 人才消费价值回归 学历虚高将会远离职场
- · 2006年最具影响力IT高管25强 联想CEO第14
- · 前程无忧:IT类职位需求回升 排名第二
- · 国内外IT巨头相继招兵买马 测试人才位置突出
- · 销售收入强劲 三季度北电网络亏损进一步下降
- · Google魅力不复存在?求职者已不再痴迷
- · Microsoft Exchange Server应用案例
- · RedHat Linux9.0安装实例(1)
- · 网络不通TTL跳数超时是谁惹的祸?
- · 专家:十大值得关注的IT安全趋势
- · 企业管理是一种艺术也是一种科学
- · 黑客攻击新手段 重装系统也没用
- · 基于UniJa平台的NetBeans使用(图)
- · Linux补丁管理
- · 如何给solaris打补丁
- · 让系统通过域用户自动打补丁
- · WUS服务-集中管理系统补丁(1)
- · 全面揭露SP2补丁的各种弊病
- · 轻松撤销掉你的Windows 补丁错误
- · Windows Update解决小型企业补丁管理问题
- · 制作Win XP系统补丁自安装光盘(图)
- · 专访Rational“舵手”分享SOAG策略(1)
- · Window 2000/XP在局域网内批量升级
- · BT下载占用带宽大 用路由限制BT下载
- · 教你几招判断Windows是否被流氓侵入
- · 网络管理:到底能够管到什么地步?(1)
- · 平均才显公平 网络负载平衡轻松用(1)
- · 拒绝同质化 无线路由进入特色时代(1)
- · 简析Google Web Toolkit(GWT)(1)
- · 感受统一通信:思科员工的一天(1)

