逍遥一派 发表于 2015-1-18 11:20:21

发布一篇完成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.getName();
methodFix1=methodName1.substring(3,methodName1.length());
if(methodName1.startsWith("get")){
for(intj=0;j<method2.length;j++){
methodName2=method2.getName();
methodFix2=methodName2.substring(3,methodName2.length());
if(methodName2.startsWith("set")){
if(methodFix2.equals(methodFix1)){
Object[]objs1=newObject;
Object[]objs2=newObject;
objs2=method1.invoke(obj1,objs1);//激活obj1的响应的get的办法,objs1数组寄存挪用该办法的参数,此例中没有参数,该数组的长度为0
method2.invoke(obj2,objs2);//激活obj2的响应的set的办法,objs2数组寄存挪用该办法的参数
continue;
}
}
}
}
}
returnobj2;
}
}
<p>
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。

冷月葬花魂 发表于 2015-1-19 06:59:22

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

只想知道 发表于 2015-1-24 11:19:39

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

小女巫 发表于 2015-1-27 08:25:20

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

飘灵儿 发表于 2015-1-31 19:46:46

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

柔情似水 发表于 2015-2-3 14:36:40

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

灵魂腐蚀 发表于 2015-2-7 08:49:06

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

小魔女 发表于 2015-2-21 06:39:39

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

活着的死人 发表于 2015-3-6 19:53:55

Java 编程语言的风格十分接近C、C++语言。

金色的骷髅 发表于 2015-3-11 19:05:31

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

深爱那片海 发表于 2015-3-12 14:01:09

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

仓酷云 发表于 2015-3-19 22:36:41

Java是一种计算机编程语言,拥有跨平台、面向对java
页: [1]
查看完整版本: 发布一篇完成javabean的属性拷贝