仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 799|回复: 11
打印 上一主题 下一主题

[学习教程] 发布一篇完成javabean的属性拷贝

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最后我再次声明,我并没有说不看好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: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等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
飘灵儿 该用户已被删除
5#
发表于 2015-1-31 19:46:46 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
柔情似水 该用户已被删除
6#
发表于 2015-2-3 14:36:40 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-2-7 08:49:06 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
小魔女 该用户已被删除
8#
发表于 2015-2-21 06:39:39 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
活着的死人 该用户已被删除
9#
发表于 2015-3-6 19:53:55 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
金色的骷髅 该用户已被删除
10#
发表于 2015-3-11 19:05:31 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
深爱那片海 该用户已被删除
11#
发表于 2015-3-12 14:01:09 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
12#
发表于 2015-3-19 22:36:41 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 08:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表