Skynet
posts - 131, comments - 148, trackbacks - 0, articles - 1
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
属性填充 ( 懒人版)
Posted on 2007-04-20 10:09
G_G
阅读(115)
评论(0)
编辑
收藏
所属分类:
Inspiration
主要类先上
package
myUtil;
import
java.lang.reflect.InvocationTargetException;
import
java.lang.reflect.Method;
import
java.util.Enumeration;
import
java.util.Hashtable;
import
java.util.Map;
import
java.util.Vector;
public
class
CopyAttribute
{
public
static
void
copy(Object bn1,Object bn2)
throws
Exception
{
Hashtable m1
=
new
Hashtable();
Hashtable m2
=
new
Hashtable();
//
取出 类 一 的 set 方法
Method[] me1
=
bn1.getClass().getMethods() ;
for
(
int
i
=
0
;i
<
me1.length;i
++
)
{
String name
=
me1[i].getName() ;
if
( name.indexOf(
"
set
"
)
==
0
)
{
String Att
=
(name.substring(
3
,name.length())).toUpperCase();
m1.put(Att,me1[i]);
}
}
//
取出 类 二 的 get 方法
Method[] me2
=
bn2.getClass().getMethods() ;
for
(
int
i
=
0
;i
<
me2.length;i
++
)
{
String name
=
me2[i].getName() ;
if
( name.indexOf(
"
get
"
)
==
0
)
{
String Att
=
(name.substring(
3
,name.length())).toUpperCase();
m2.put(Att,me2[i]);
}
}
Enumeration en2
=
m2.keys();
Enumeration en1
=
m1.keys();
while
(en2.hasMoreElements())
{
String Att
=
(String)en2.nextElement();
Method get
=
(Method)m2.get(Att);
Method set
=
(Method)m1.get(Att);
if
(set
==
null
)
continue
;
set.invoke(bn1,
new
Object[]
{ get.invoke(bn2,
new
Object[]
{}
) }
);
}
}
}
运行
}
package
test;
import
myUtil.CopyAttribute;
import
Bean.Bean1;
import
Bean.Bean2;
import
junit.framework.TestCase;
public
class
test
extends
TestCase
{
protected
void
setUp()
throws
Exception
{
super
.setUp();
}
protected
void
tearDown()
throws
Exception
{
super
.tearDown();
}
public
void
testMyCopy()
throws
Exception
{
Bean1 b1
=
new
Bean1();
b1.setAvg(
23
);
b1.setName(
"
liukaiyi
"
);
Bean2 b2
=
new
Bean2();
b2.setName(null);
CopyAttribute.copy(b2,b1);
assertNotNull(b2.getName());
}
}
新闻频道
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-08-09 14:37 编辑过
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子技术博客
相关文章:
我的编码设计(利用junit设计)
让 java 动态
Bean_to_Bean 赋值完整解决(可用在实际开发)
自用小框架:DB工厂
Ajax uri 乱码问题总结(IE,FF)
动态建表(2) bean[] 直接到建表 (扩展也很好)
解读String 来进行对象与对象之间的操作的
属性填充 ( 懒人版)
Powered by:
BlogJava
Copyright © G_G
日历
<
2007年4月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
公告
由于时间问题,
blog上一些表达都不太好。
在此我尽量把我参考的原文给大家,
帮助大家学习。^_^
有什么技术问题不会,
我很愿意和大家讨论!
多交流快成长
liukaiyi@gmail.com
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(6)
给我留言
查看公开留言
查看私人留言
随笔分类
ant(5)
AOP(5)
Database(7)
E_Study(1)
EJB(4)
hibernate(21)
HTML(1)
Inspiration(9)
Jakarta Commons(3)
javaGeneral(21)
javascript(17)
javascript Framework(7)
JDBC(3)
json(2)
JspTag(7)
JUnit(7)
Other(3)
Reportform(3)
Spring(4)
struct(4)
Swing(1)
xml Related(7)
随笔档案
2008年7月 (2)
2008年6月 (9)
2008年5月 (5)
2008年4月 (11)
2008年3月 (6)
2008年1月 (8)
2007年12月 (13)
2007年11月 (13)
2007年10月 (15)
2007年9月 (11)
2007年8月 (9)
2007年7月 (7)
2007年6月 (6)
2007年5月 (3)
2007年4月 (9)
文章档案
2007年4月 (1)
相册
EJB
hbn
ss
wz
hibernate
cjdbc
hibernate.cache
Hibernate中outer-join、lazy 、fetch join关键字的使用
My连接
一个读取Gmail邮件的简单程序
bat 1%
eXtremeTable limit
java+web
jsp java javascrip 交互
JS函数集合大全
strut c:
Struts Menu
tree jsp
上手JFreeChart
关键笔记
根据name调用getName方法
用JAVA实现一个分页类
搜索
最新评论
1. re: 我的 ssh demo
文件下载路径以修改
--G_G
2. re: 我的 ssh demo
下不了啊,lsqlister@gmail.com
--lsqlister
3. re: 我的 ssh demo
下不了,请发到我的邮箱里好吗?谢谢TIANYXI@126.COM
--TYXING
4. re: 数据库表地址数据(中国地区)
多谢分享
--linbq
5. re: mysql 权限控制笔记
讲的很明白,谢谢!
--初学者
阅读排行榜
1. select集连+xml+选择提交 (Ajax局部刷新) (1805)
2. WEB xml 画图 (javascript包装)用到 prototype.js wz_jsgraphics.js (1514)
3. json 使用(1482)
4. CGLib 学习(1452)
5. google svn 服务器使用(1328)
评论排行榜
1. hibernate 多服务器数据同步问题(支持延迟同步)(10)
2. 为在平安夜还在加班的程序员祝福!(8)
3. 权限设计的探讨阅读后感(6)
4. 自用小框架:DB工厂(6)
5. 原创小框架: 动态面向对象数据库操作(不要影射类哦)(6)
60天内阅读排行
1. google svn 服务器使用(1328)
2. Hibernate 数据库设计_1(1218)
3. mysql 树形结构数据收集(存储过程)(1135)
4. scilab 工具使用(1062)
5. spring 与 hibernate 整合(事务)(1057)