仓酷云

标题: 发布一篇完成javabean的属性拷贝 [打印本页]

作者: 逍遥一派    时间: 2015-1-18 11:20
标题: 发布一篇完成javabean的属性拷贝
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net网页编程并驾齐驱的
在struts的理论过程当中,常常两个javabean互换数据的情形,如ActionForm与数据库中的表相干的bean互换数据。一般情形下要写良多get和set语句,一个个属性顺次拷贝。如许的话,云云反复沉重的事情让程序员感到不到编程的康乐。因而在网上查相干材料知,在apache.org有一个project:common-beanutil,供应的一个BeanUtil类,这个类有一个静态办法BeanUtil.copyProperties()完成了该功效。厥后我在与java相干的书上晓得的java的反射机制(reflect),偿试着并完成了两个javabean的属性拷贝功效。
importjava.lang.reflect.*;
/**
@authorXiaoboZheng
@date2005-12-28
*/
publicclassBeanUtil2{
/**
@parameterObjectobj1,Objectobj2
@returnObject
用到反射机制
此办法将挪用obj1的getter办法,将失掉的值作为响应的参数传给obj2的setter办法
注重,obj1的getter办法和obj2办法必需是public范例
*/
publicstaticObjectCopyBeanToBean(Objectobj1,Objectobj2)throwsException{
Method[]method1=obj1.getClass().getMethods();
Method[]method2=obj2.getClass().getMethods();
StringmethodName1;
StringmethodFix1;
StringmethodName2;
StringmethodFix2;
for(inti=0;i<method1.length;i++){
methodName1=method1[i].getName();
methodFix1=methodName1.substring(3,methodName1.length());
if(methodName1.startsWith("get")){
for(intj=0;j<method2.length;j++){
methodName2=method2[j].getName();
methodFix2=methodName2.substring(3,methodName2.length());
if(methodName2.startsWith("set")){
if(methodFix2.equals(methodFix1)){
Object[]objs1=newObject[0];
Object[]objs2=newObject[1];
objs2[0]=method1[i].invoke(obj1,objs1);//激活obj1的响应的get的办法,objs1数组寄存挪用该办法的参数,此例中没有参数,该数组的长度为0
method2[j].invoke(obj2,objs2);//激活obj2的响应的set的办法,objs2数组寄存挪用该办法的参数
continue;
}
}
}
}
}
returnobj2;
}
}
<p>
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。
作者: 冷月葬花魂    时间: 2015-1-19 06:59
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 只想知道    时间: 2015-1-24 11:19
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者: 小女巫    时间: 2015-1-27 08:25
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
作者: 飘灵儿    时间: 2015-1-31 19:46
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 柔情似水    时间: 2015-2-3 14:36
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者: 灵魂腐蚀    时间: 2015-2-7 08:49
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 小魔女    时间: 2015-2-21 06:39
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者: 活着的死人    时间: 2015-3-6 19:53
Java 编程语言的风格十分接近C、C++语言。
作者: 金色的骷髅    时间: 2015-3-11 19:05
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者: 深爱那片海    时间: 2015-3-12 14:01
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者: 仓酷云    时间: 2015-3-19 22:36
Java是一种计算机编程语言,拥有跨平台、面向对java




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2