﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-petrel-文章分类-拿来主义</title><link>http://www.blogjava.net/petrel/category/11723.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 20:07:46 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 20:07:46 GMT</pubDate><ttl>60</ttl><item><title>[BeanUtils] 拷贝bean属性 </title><link>http://www.blogjava.net/petrel/articles/49539.html</link><dc:creator>学习笔记</dc:creator><author>学习笔记</author><pubDate>Thu, 01 Jun 2006 05:18:00 GMT</pubDate><guid>http://www.blogjava.net/petrel/articles/49539.html</guid><wfw:comment>http://www.blogjava.net/petrel/comments/49539.html</wfw:comment><comments>http://www.blogjava.net/petrel/articles/49539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/petrel/comments/commentRss/49539.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/petrel/services/trackbacks/49539.html</trackback:ping><description><![CDATA[
		<p>使用PropertyUtils.copyProperties()拷贝一个bean中的属性到另一个bean中,第一个参数是目标bean,第二个参数是源bean,代码片段见下</p>
		<p>Book srcBook = new Book();<br />srcBook.setName("Jakarta Commons Cookbook"); 
<br />Book destBook = new Book(); <br />PropertyUtils.copyProperties(destBook, 
srcBook);</p>
		<p>// 输出 <br />// Jakarta Commons 
Cookbook<br />System.out.println(destBook.getName());<br />PropertyUtils.copyProperties()将检索源bean中所有的属性,然后将其值分配给目标bean中相同的属性,如果上面的例子中Book 
bean有一个author属性,类型是Person,这个方法将分配其的references给destBook,也就是说copyProperties()方法不会克隆属性的值.看下面的代码片段</p>
		<p>Person author = new Person();<br />author.setName("Timothy M. O'Brien"); 
<br />Book srcBook = new Book();<br />srcBook.setName("Jakarta Commons 
Cookbook");<br />srcBook.setAuthor(author);</p>
		<p>Book destBook = new Book(); <br />PropertyUtils.copyProperties(destBook, 
srcBook);</p>
		<p>// 结果输出<br />// Author objects identical<br />if (srcBook.getAuthor() == 
destBook.getAuthor()) {<br />System.out.println("Author objects 
identical");<br />}<br />copyProperties()方法也能将Map中的内容分酌给bean,如果key同目标bean的属性名相同的话</p>
		<p>Map srcMap = new HashMap();<br />srcMap.put("name", "Jakarta Commons 
Cookbook"); <br />Book destBook = new Book(); 
<br />PropertyUtils.copyProperties(destBook, srcMap);<br />// 输出<br />// Jakarta 
Commons Cookbook<br />System.out.println(destBook.getName());</p>
<img src ="http://www.blogjava.net/petrel/aggbug/49539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/petrel/" target="_blank">学习笔记</a> 2006-06-01 13:18 <a href="http://www.blogjava.net/petrel/articles/49539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>