当前位置

网站首页> 程序设计 > 开源项目 > 编程语言 > 浏览文章

JavaBean 工具 updar

作者:小梦 来源: 网络 时间: 2024-07-06 阅读:

upDar 是 JavaBean 工具:为更简洁的操作javaBean,对javaBean进行简单设置即可达到目的,减少对javaBean操作冗余代码。

演示例子

    依赖的jar包

    1.  json-lib-2.4-jdk15.jar

    2.  commons-beanutils-1.8.3.jar

    3.  commons-collections-3.1.jar

    4.  commons-lang-2.4.jar

    5.  commons-logging-1.1.1.jar

    6.  ezmorph-1.0.6.jar

    为什么要做这个东西

    在以往开发中,我使用的是ssh框架,有个问题一直让我很疑惑,到底该怎么实现.

    当我们update操作的时候,有时并不需要把一个model的所有属性都去更新,例如状态等信息是不能被update的.

    但是,用ssh在前台传入参数保存到action中后,model中的属性是不可预估的,有可能存在不能更新的属性,但是当使用hibernate的update方法时,那么整个对象的全部属性都被update.会出现很多问题

    起初我的解决方法是,在数据库中查出需要修改的model对象,把需要更改的属性一个个set进去.结果大量冗余代码出现.于是放弃这种写法.

    使用org.springframework.beans.BeanUtils.copyProperties(Object source, Object target, String[] ignoreProperties)方法,这个方法的作用是,ignoreProperties中存放了不可被修改的属性名,source是需要被修改的model,target是提供修改数据的model.

    起初很好用,可后来发现一个问题,有一个用户对象,我们已经对他写好了update方法,并用copyProperties方法对model进行了更新,可随着项目的扩大,用户中需要增加一个属性,但是之前的update方法不可修改这个属性,显然,我们已经记不得再哪使用了copyProperties方法了,我们不能逐个去修改ignoreProperties参数.

    于是我觉得应该需要一种更好的方式去解决updateModel的问题了.这样我就写出了一些代码,用来分享给大家.

    思路

    对model的属性进行分组,这样当更新model的时候,只需要传入需要修改的model 和提供数据的model 和需要更新属性的分组名称即可.

    设置分组方式:通过注解方式,在model属性的set方法上添加注解,以标注该属性所属分组名称.这样当update方法写好后,若出现任何model属性变化,属性名变化都只需要更改model的 注解配置即可,无需修改update方法.

    以这种思路去解决updateModel的问题,我觉得是再好不过,而本工具则实现了这一解决方案.

    相关阅读

    热点阅读

    网友最爱