`
yaoweinan
  • 浏览: 138311 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

关于java中对象属性值的校验的思考

 
阅读更多

     现在在java 开发中经常会遇到要交验某个object 的是否符合要求,例如最简单的是否为空,数字的范围...等等。当然现在也有一些jar包提供了这样的功能,我遇见过的就是在属性上加annotation ,比如 @notNull,@Max,@Min 等等   如果只是简单的校验,那么这些定义已经足够完成你的功能,假如我们的这个object 比较灵活,其具有状态,在不同的状态我们所做的校验都是不同的,不管是检查是否为空还是其他的,那么我们就需要更加灵活的来实现,当然代码是最灵活的,但是如果只用代码来实现这部分校验显得这部分工作比较繁重。说起灵活,莫非配置,我们可以根据项目的需要定义一些xml来配置某个类实例在不同状态下的校验条件,接下来的事就是我们来完成一个自定义化的解读配置进行配置的过程,如果该编码完成我们不论以后多少个不同类型的对象进行校验我们仅需要进行编写符合我们校验框架的配置文件,再也不用去自己处理如何校验的工作。这就是所谓的磨刀不误砍柴工吧:) 然而在 我们中国的编程过程我还没有看到有人这么做,要么到网上找到人家写好的东西,直接使用,要么就去直接写代码来判断,前者个人认为 主要不够灵活,不能满足比较特殊的需求,而后者会让代码像狗屎一样,让人一看就烦,也不便于会面的维护。

     具体的例子,本人也没有完成,只有一个简单例子,我相信,如果有人想这样做那么,只需将改例子再调整一下就好了。

 

 

分享到:
评论

相关推荐

    基于java实现了对698报文部分数据项的解析,学习之作,仅供参考.zip

    在本项目中,开发者使用Java语言实现了一个针对698报文部分数据项的解析工具。698报文通常是指电力系统中的自动化设备通信报文,这种报文格式广泛应用于电网调度、电力数据采集等领域。Java作为一种面向对象、跨平台...

    corejava基础重要知识点总结

    属性:对象有什么 方法:对象会什么 5: 动态更新 对于Sun公司官方提供的一些核心方法 值保留一个指向的关系 当若干年后核心类库升级了 我们的程序还是可以正常执行 这是挤兑c/c++的 搭建开发环境: 1:安装...

    Java机试相关题目34题

    6. 日期校验脚本编写:脚本校验日期需要使用Java的日期和时间API,如java.util.Date类或者java.time包下的类,编写程序对日期格式进行校验。 7. 字符串反转方法实现:字符串的反转是指将字符串中的字符顺序颠倒。...

    学生信息管理系统 java

    在这个系统中,`Hashtable`被用来存储学生信息,每个学生的学号作为键,`Student`对象作为值。 #### 三、系统设计思路 整体来看,这个学生信息管理系统的设计遵循了MVC(Model-View-Controller)架构模式: - **Model...

    fritsspring.zip

    `property`标签用于注入属性值,`value`属性可以直接设置基本类型的值,`ref`属性则引用其他bean。这样的配置方式使得Spring能够管理bean的生命周期,处理依赖注入,实现控制反转(IoC)。 在“fritsspring.zip”中...

    c#学习笔记.txt

    将一个值的值装箱会分配一个对象实例并将该值复制到新的对象中。关键字 object. 取消装箱是从 object 类型到值类型或从接口类型到实现该接口的值类型的显式转换。取消装箱操作包括:检查对象实例,确保它是给定值...

    Chess-Logic:建构国际象棋游戏背后的逻辑

    在Java中,我们可以为每种棋子创建一个类,包含其属性(如颜色、位置)和方法(如移动、攻击)。 棋盘通常用二维数组来表示,数组的每个元素代表棋盘上的一个格子,可以存储当前格子上的棋子类型。在Java中,我们...

Global site tag (gtag.js) - Google Analytics