Commons-BeanUtils动态bean在项目中的应用
来源:互联网 发布:百度云盘网络证书无效 编辑:程序博客网 时间:2024/06/05 09:31
公司在做一个中型的网站,常常会用到动态bean动态添加属性,或者拷贝页面中只需要用到的某些属性。因此,将自己在做项目过程中的一些心得体会展现出来,如果有说错的地方,还望大家批评指正。
在讲动态bean之前,不得不提一下DTO:Data Transfer Object(数据传输对象)
DTO主要用于远程调用等需要大量传输对象的地方。假如某一张表里面有几十个甚至一百个字段,但是我们的 界面上只要显示十个字段。这时,客户端用Web Service来获取数据时,没有必要把整个PO对象传给客户端,我们需要的是只将这十个属性的DTO来传递结果给客户端,这样,到达客户端以后,如果用这个对象来对应界面的显示,那此时就转换为VO了。
回到正题,接下来就是动态bean的应用了。假设现在有一张相册表ALBUM,里面有二十几个字段,对应的DTO为AlbumInfoDTO。则DTO里面就对应包含这二十几个属性。而我们界面上只需要其中的8个属性。此时,就会用到动态bean了。我们都知道,一个项目里面,像这种类似的情况还有很多。所以,我们有必要写一个公用类。
示例代码如下:
public static DynaBean createDynaBean(DynaProperty[] properties,String className) throws Exception {// 使用动态Bean的属性定义类DynaClass beanClass = new BasicDynaClass(className, null, properties);// 根据类,创建一个新的实例DynaBean bean = beanClass.newInstance();return bean;}
而一般类似这种项目中,service层一般都会有一个对应的转换类,比如PO与DTO的相互转换,PO集合转换为DTO集合等。所以,我们不妨将创建动态bean的方法写在该转换类中。
以相册为例:(只将界面上需要用到的8个属性拷贝出来)
public static DynaBean getShowAlbumsInfoDynaBean(AlbumInfoDTO infoDTO)throws Exception {// 创建动态Bean属性DynaProperty[] properties = new DynaProperty[] {new DynaProperty("albumId", String.class),new DynaProperty("name", String.class),new DynaProperty("description", String.class),new DynaProperty("topPhotoId", String.class),new DynaProperty("url", String.class),new DynaProperty("enableFor", String.class),new DynaProperty("createTime", Date.class),new DynaProperty("modifyTime", Date.class) };DynaBean dynaBean = DynaBeanHelper.createDynaBean(properties, "album");// 使用PropertyUtils工具类拷贝Bean属性PropertyUtils.copyProperties(dynaBean, infoDTO);return dynaBean;}
写好之后,只需在对应service的实现类或action层里面调用其方法就可以了。
- Commons-BeanUtils动态bean在项目中的应用
- BeanUtils工具 动态bean
- Jakarta Commons BeanUtils 拷贝bean属性
- commons-beanutils.jar中的DynaBean
- 从零开始学JDBC--1.16 BeanUtils组件在Web项目中的应用
- commons-beanutils-1.8.3 动态设置属性
- Apache Commons项目简介之BeanUtils
- apache的commons-beanutils.jar中的BeanUtils的坑
- Jakarta Commons学习笔记 [BeanUtils] 拷贝bean属性
- Commons-Beanutils
- commons-beanutils
- apache.commons.beanutils.BeanUtils
- BeanUtils.copyProperties 复制bean异常org.apache.commons.beanutils.ConversionException: No value specifie
- BeanUtils.copyProperties 复制bean异常org.apache.commons.beanutils.ConversionException: No value specifie
- java bean在jsp中的应用
- 初用apache.commons.beanutils.BeanUtils
- 初用apache.commons.beanutils.BeanUtils
- org.apache.commons.beanutils.BeanUtils
- 技术浪潮
- 正则表达式 获取
- vxWorks中USB驱动栈-2
- mysql存储过程(一)
- vs2008 MFC 对话框 敲回车,ESE键,程序自动退出解决办法
- Commons-BeanUtils动态bean在项目中的应用
- Data Transfer Object (DTO)
- AgilePoint模型驱动BPM(业务流程管理)介绍
- spring XmlWebApplicationContext详解
- ACM ICPC 3252 Round Numbers
- 【9月13日】宁大队内选拔赛
- MySQL
- Http小结
- 上海-苏州 100公里徒步旅行心情分享(二)