﻿<?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-LORD'S BLOG-文章分类-J2EE</title><link>http://www.blogjava.net/jiandeh/category/10389.html</link><description>你准备好迎接下一个挑战了吗？</description><language>zh-cn</language><lastBuildDate>Wed, 16 May 2007 10:30:12 GMT</lastBuildDate><pubDate>Wed, 16 May 2007 10:30:12 GMT</pubDate><ttl>60</ttl><item><title>利用JExcelApi来动态生成excel文档 </title><link>http://www.blogjava.net/jiandeh/articles/47494.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Mon, 22 May 2006 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/articles/47494.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/47494.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/articles/47494.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/47494.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/47494.html</trackback:ping><description><![CDATA[
		<p>首先，请到<a href="http://www.andykhan.com/jexcelapi/index.html">http://www.andykhan.com/jexcelapi/index.html</a>下载java excel api，主页上同时有比较详细的介绍。最新版本为2.4.3，同时也可以到：<a href="http://www.andykhan.com/jexcelapi/jexcelapi_2_4_3.tar.gz">http://www.andykhan.com/jexcelapi/jexcelapi_2_4_3.tar.gz</a>下载到该最新版的API，由于该项目是开源的，所以下载的文件中已经包含了源代码，同样的，文件中也有javadoc，大家在开发中可以参考javadoc。</p>
		<p>下载完毕后，我们需要把文件中的jxl.jar加入到你的开发classpath中。<br />下图是现在要生产的excel截图：<br /><a href="http://blog.csdn.net/beming/gallery/image/3437.aspx">http://blog.csdn.net/beming/gallery/image/3437.aspx</a><br /></p>
		<p>代码如下：</p>
		<p>   File excel = new File("d:/aming.xls");<br />   if(!excel.exists()){<br />    excel.createNewFile();<br />   }   <br />   WritableWorkbook wwb = Workbook.createWorkbook(excel);<br />   WritableSheet ws = wwb.createSheet("testexcel",0);<br />   Label lable = null;<br />   <br />   //对中文的支持非常好<br />   lable = new Label(0,0,"我的中国心");<br />   ws.addCell(lable);<br />   <br />   //可以定义模板格式化你的cell<br />   WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);<br />   WritableCellFormat wcf = new WritableCellFormat(wf);<br />   wcf.setBackground(Colour.WHITE);<br />   lable = new Label(0,1,"fdsl",wcf);<br />   ws.addCell(lable);<br />   <br />   wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);<br />   wcf = new WritableCellFormat(wf);<br />   lable = new Label(0,2,"aming",wcf);<br />   ws.addCell(lable);<br />   <br />   //cell的类型同样可以定义为数字类型<br />   Number nb = new Number(0,3,21.4321321);<br />   ws.addCell(nb);<br />   <br />   //支持格式化你的数字串<br />   NumberFormat nf = new NumberFormat("#.###");<br />   wcf = new WritableCellFormat(nf);<br />   nb = new Number(0,4,21.43254354354354,wcf);<br />   ws.addCell(nb);</p>
		<p>   //cell的类型可以为boolean类型<br />   Boolean bl = new Boolean(0,5,true);<br />   ws.addCell(bl);</p>
		<p>   //cell的类型同样可以为日期，时间<br />   DateTime dt = new DateTime(0,6,new Date());<br />   ws.addCell(dt);</p>
		<p>   //并且可以很好格式化你的日期格式<br />   DateFormat df = new DateFormat("MM dd yyyy hh:mm:ss");<br />   wcf = new WritableCellFormat(df);<br />   dt = new DateTime(0,7,new Date(),wcf);<br />   ws.addCell(dt);<br />   <br />   //开始写文件了<br />   wwb.write();<br />   wwb.close();<br /><br />上面的下载地址无法打开.<br />下载请到:http://prdownloads.sourceforge.net/jexcelapi</p>
<img src ="http://www.blogjava.net/jiandeh/aggbug/47494.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2006-05-22 16:54 <a href="http://www.blogjava.net/jiandeh/articles/47494.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jakarta-Common-BeanUtils使用笔记</title><link>http://www.blogjava.net/jiandeh/articles/47487.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Mon, 22 May 2006 08:29:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/articles/47487.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/47487.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/articles/47487.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/47487.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/47487.html</trackback:ping><description><![CDATA[转自：<a href="http://blog.csdn.net/fanjun/archive/2005/02/17/291662.aspx">http://blog.csdn.net/fanjun/archive/2005/02/17/291662.aspx</a><br /><p class="1" style="MARGIN: 17pt 0cm 16.5pt 21.25pt"><a name="_Toc93765167"><span lang="EN-US"><span><strong><font size="6">1.</font></strong><span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">   </span></span></span><span style="FONT-FAMILY: 宋体"><strong><font size="6">概述</font></strong></span></a></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">第一次接触</span><span lang="EN-US">BeanUtils</span><span style="FONT-FAMILY: 宋体">是在学习</span><span lang="EN-US">Struts</span><span style="FONT-FAMILY: 宋体">的过程中，在</span><span lang="EN-US">Struts</span><span style="FONT-FAMILY: 宋体">中它被大量用于处理</span><span lang="EN-US">FormBean</span><span style="FONT-FAMILY: 宋体">。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span lang="EN-US">BeanUtils</span><span style="FONT-FAMILY: 宋体">主要提供了对于</span><span lang="EN-US">JavaBean</span><span style="FONT-FAMILY: 宋体">进行各种操作，</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span>BeanUtils</span><span style="FONT-FAMILY: 宋体">一共分</span><span lang="EN-US">4</span><span style="FONT-FAMILY: 宋体">个包：</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt"><span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>Ø<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">         </span></span></span><span lang="EN-US" style="FONT-FAMILY: Helvetica">org.apache.commons.beanutils</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt"><span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>Ø<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">         </span></span></span><span lang="EN-US" style="FONT-FAMILY: Helvetica">org.apache.commons.beanutils.converters</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt"><span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>Ø<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">         </span></span></span><span lang="EN-US" style="FONT-FAMILY: Helvetica">org.apache.commons.beanutils.locale</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt"><span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>Ø<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">         </span></span></span><span lang="EN-US" style="FONT-FAMILY: Helvetica">org.apache.commons.beanutils.locale.converters</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 17.95pt"><span style="FONT-FAMILY: 宋体">其中上面两个是</span><span lang="EN-US" style="FONT-FAMILY: Helvetica">BeanUtils</span><span style="FONT-FAMILY: 宋体">的默认实现，它没有针对本地化的任何处理，这个可以提高执行效率。但是若你的程序对于本地化有要求的话，那还是使用下面</span><span lang="EN-US" style="FONT-FAMILY: Helvetica">2</span><span style="FONT-FAMILY: 宋体">个包比较安全。</span><span lang="EN-US" style="FONT-FAMILY: Helvetica"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"></span> </p><p class="1" style="MARGIN: 17pt 0cm 16.5pt 21.25pt"><a name="_Toc93765168"><span lang="EN-US"><span><strong><font size="6">2.</font></strong><span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">   </span></span></span><span lang="EN-US"><strong><font size="6">org.apache.commons.beanutils</font></strong></span></a></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">这个包主要提供用于操作</span><span lang="EN-US">JavaBean</span><span style="FONT-FAMILY: 宋体">的工具类，</span><span lang="EN-US" style="FONT-FAMILY: 宋体">Jakarta-Common-BeanUtils</span><span style="FONT-FAMILY: 宋体">的主要功能都在这个包里实现。<span lang="EN-US"></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-FAMILY: 宋体"><span>    </span></span><span style="FONT-FAMILY: 宋体">下面分别介绍几个主要的工具类：</span></p><p class="2" style="MARGIN: 13pt 0cm 13pt 1cm"><a name="_Toc93765169"><span lang="EN-US"><span><strong><font face="Arial" size="5">2.1.</font></strong><span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal"></span></span></span><span lang="EN-US"><strong><font face="Arial" size="5">BeanUtil</font></strong></span></a></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">1</span><span style="FONT-FAMILY: 宋体">、首先，我先定义一个</span><span lang="EN-US">JavaBean</span><span style="FONT-FAMILY: 宋体">作为之后例子的操作对象。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)">    public class Company</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)">    {</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>private String name;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>private HashMap address = new HashMap();</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>private String[] otherInfo;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>private ArrayList product;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>private ArrayList employee;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>private HashMap telephone;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public Company(){}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public String getName()</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>return name;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public void setName(String name)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>this.name = name;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public String getAddress(String type)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>return address.get(type).toString();</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public void setAddress(String type, String address)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>this.address.put(type,address);</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public String[] getOtherInfo()</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>return otherInfo;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public void setOtherInfo(String[] otherInfo)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>this.otherInfo = otherInfo;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public ArrayList getProduct()</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>return product;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public void setProduct(ArrayList product)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>this.product = product;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public ArrayList getEmployee()</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>return employee;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public void setEmployee(ArrayList employee)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>this.employee = employee;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public HashMap getTelephone()</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>return telephone;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>public void setTelephone(HashMap telephone)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>{</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>this.telephone = telephone;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>}</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)">    }</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">2</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">BeanUtils</span><span style="FONT-FAMILY: 宋体">可以直接</span><span lang="EN-US">get</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">set</span><span style="FONT-FAMILY: 宋体">一个属性的值。它将</span><span lang="EN-US">property</span><span style="FONT-FAMILY: 宋体">分成</span><span lang="EN-US">3</span><span style="FONT-FAMILY: 宋体">种类型：</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span>Simple</span><span style="FONT-FAMILY: 宋体">——简单类型，如</span><span lang="EN-US">Stirng</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">Int</span><span style="FONT-FAMILY: 宋体">……</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span>Indexed</span><span style="FONT-FAMILY: 宋体">——索引类型，如</span><span style="FONT-FAMILY: 宋体">数组、</span><span lang="EN-US">arrayList</span><span style="FONT-FAMILY: 宋体">……</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span>Maped</span><span style="FONT-FAMILY: 宋体">——这个不用说也该知道，就是指</span><span lang="EN-US">Map</span><span style="FONT-FAMILY: 宋体">啦，比如</span><span lang="EN-US">HashMap</span><span style="FONT-FAMILY: 宋体">……</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">访问不同类型的数据可以直接调用函数</span><span lang="EN-US">getProperty</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">setProperty</span><span style="FONT-FAMILY: 宋体">。它们都只有</span><span lang="EN-US">2</span><span style="FONT-FAMILY: 宋体">个参数，第一个是</span><span lang="EN-US">JavaBean</span><span style="FONT-FAMILY: 宋体">对象，第二个是要操作的属性名。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)">Company c = new Company();</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)">c.setName("Simple");</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"><span lang="EN-US"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"><span style="FONT-FAMILY: 宋体">对于</span><span lang="EN-US">Simple</span><span style="FONT-FAMILY: 宋体">类型，参数二直接是属性名即可</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"><span lang="EN-US" style="COLOR: green">//Simple</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>    </span><span style="COLOR: rgb(51,102,255)">System.out.println(BeanUtils.getProperty(c, "name"));</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: green"><span>    </span></span><span style="FONT-FAMILY: 宋体">对于</span><span lang="EN-US">Map</span><span style="FONT-FAMILY: 宋体">类型，则需要以“属性名（</span><span lang="EN-US">key</span><span style="FONT-FAMILY: 宋体">值）”的形式</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span lang="EN-US" style="COLOR: green">//Map</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>    </span><span style="COLOR: rgb(51,102,255)">System.out.println(BeanUtils.getProperty(c, "address (A2)"));</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>    </span>HashMap am = new HashMap();</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>    </span>am.put("1","234-222-1222211");</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>    </span>am.put("2","021-086-1232323");</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>    </span>BeanUtils.setProperty(c,"telephone",am);</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>    </span>System.out.println(BeanUtils.getProperty(c, "telephone (2)"));</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>    </span></span><span style="FONT-FAMILY: 宋体">对于</span><span lang="EN-US">Indexed</span><span style="FONT-FAMILY: 宋体">，则为“属性名</span><span lang="EN-US">[</span><span style="FONT-FAMILY: 宋体">索引值</span><span lang="EN-US">]</span><span style="FONT-FAMILY: 宋体">”，注意这里对于</span><span lang="EN-US">ArrayList</span><span style="FONT-FAMILY: 宋体">和数组都可以用一样的方式进行操作。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span lang="EN-US" style="COLOR: green">//index</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>    </span><span style="COLOR: rgb(51,102,255)">System.out.println(BeanUtils.getProperty(c, "otherInfo[2]"));</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>    </span>BeanUtils.setProperty(c, "product[1]", "NOTES SERVER");</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>    </span>System.out.println(BeanUtils.getProperty(c, "product[1]"));</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">当然这</span><span lang="EN-US">3</span><span style="FONT-FAMILY: 宋体">种类也可以组合使用啦！</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>    </span><span style="COLOR: green">//nest</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>    </span><span style="COLOR: rgb(51,102,255)">System.out.println(BeanUtils.getProperty(c, "employee[1].name"));</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">3</span><span style="FONT-FAMILY: 宋体">、此外，还有一个很重要的方法</span><span lang="EN-US">copyProperty</span><span style="FONT-FAMILY: 宋体">，可以直接进行</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">之间的</span><span lang="EN-US">clone</span><span style="FONT-FAMILY: 宋体">。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span><span style="COLOR: rgb(51,102,255)">Company c2 = new Company();</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>        </span>BeanUtils.copyProperties(c2, c);</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">但是这种</span><span lang="EN-US">copy</span><span style="FONT-FAMILY: 宋体">都是浅拷贝，复制后的</span><span lang="EN-US">2</span><span style="FONT-FAMILY: 宋体">个</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">的同一个属性可能拥有同一个对象的</span><span lang="EN-US">ref</span><span style="FONT-FAMILY: 宋体">，这个在使用时要小心，特别是对于属性为自定义类的情况。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US">4</span><span style="FONT-FAMILY: 宋体">、最后还有</span><span lang="EN-US">populate</span><span style="FONT-FAMILY: 宋体">，它用于将一个</span><span lang="EN-US">map</span><span style="FONT-FAMILY: 宋体">的值填充到一个</span><span lang="EN-US">bean</span><span style="FONT-FAMILY: 宋体">中，其函数原型如下：</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.75pt; TEXT-ALIGN: left" align="left"><span lang="EN-US" style="COLOR: rgb(51,102,255); FONT-FAMILY: 宋体">public void <font color="#3366ff"><b>populate</b>(java.lang.Object bean,</font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 15.75pt; TEXT-ALIGN: left" align="left"><span lang="EN-US" style="COLOR: rgb(51,102,255); FONT-FAMILY: 宋体"><span>                </span>java.util.Map properties)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align="left"><span lang="EN-US" style="COLOR: rgb(51,102,255); FONT-FAMILY: 宋体"><span>              </span>throws java.lang.IllegalAccessException,</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255); FONT-FAMILY: 宋体"><span>                     </span>java.lang.reflect.InvocationTargetException</span><span lang="EN-US"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体">在</span><span lang="EN-US">struts</span><span style="FONT-FAMILY: 宋体">中这个函数被用于从</span><span lang="EN-US">http request</span><span style="FONT-FAMILY: 宋体">中取得参数添加到</span><span lang="EN-US">FormBean</span><span style="FONT-FAMILY: 宋体">，目前好像我也没有看到这个函数还有什么其他的用途？！以后想到再说吧：</span><span lang="EN-US">P</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"></span> </p><p class="2" style="MARGIN: 13pt 0cm 13pt 1cm"><a name="_Toc93765170"><span lang="EN-US"><span><strong><font face="Arial" size="5">2.2.</font></strong><span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal"></span></span></span><span lang="EN-US"><strong><font face="Arial" size="5">LazyDynaBean</font></strong></span></a></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">它实现一个动态的</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">，可以直接往里面加入属性，作为一个</span><span lang="EN-US">JavaBean</span><span style="FONT-FAMILY: 宋体">一样使用，也可以用上面的</span><span lang="EN-US">BeanUtils</span><span style="FONT-FAMILY: 宋体">或</span><span lang="EN-US">get/set</span><span style="FONT-FAMILY: 宋体">方法进行操作，而不用事先定义一个标准的</span><span lang="EN-US">JavaBean</span><span style="FONT-FAMILY: 宋体">类啦：）</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体">记得在</span><span lang="EN-US">J2ee</span><span style="FONT-FAMILY: 宋体">设计模式中有一种</span><span lang="EN-US">Value Object</span><span style="FONT-FAMILY: 宋体">的模式，用于在</span><span lang="EN-US">MVC</span><span style="FONT-FAMILY: 宋体">各层之间传递数据，避免直接传递大业务对象引起的性能问题，为了避免在项目中出现很多</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">类，在书中提供了一个动态</span><span lang="EN-US">Value Object</span><span style="FONT-FAMILY: 宋体">的实现（通过扩展</span><span lang="EN-US">Map</span><span style="FONT-FAMILY: 宋体">）。这里</span><span lang="EN-US">LazyDynaBean</span><span style="FONT-FAMILY: 宋体">则可以作为一种更加成熟、稳定的实现来使用。呵呵，原来曾打算自己写一个类似的</span><span lang="EN-US">value object</span><span style="FONT-FAMILY: 宋体">类的，现在看来可以直接用这个啦：</span><span lang="EN-US">P</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">言归正传，</span><span lang="EN-US">LazyBean</span><span style="FONT-FAMILY: 宋体">的确提供了一个很不错的</span><span lang="EN-US">DynaBean</span><span style="FONT-FAMILY: 宋体">的实现。而且就像它的名字中表述的那样，它的确是为我这样的懒人考虑的很周到，用起来几乎不需要写什么多余的代码</span><span lang="EN-US">^_^</span><span style="FONT-FAMILY: 宋体">，下面就看看使用的例子吧！</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span><span>  </span><span style="COLOR: rgb(51,153,102)">//</span></span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">这里使用</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">LazyDynaMap</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">，它是</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">LazyBean</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">的一个轻量级实现</span><span lang="EN-US" style="COLOR: rgb(51,153,102)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>      </span><span style="COLOR: rgb(51,102,255)">LazyDynaMap dynaBean1 = new LazyDynaMap();</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>      </span><span style="COLOR: rgb(51,102,255)">dynaBean1.set("foo", "bar");<span>                  </span></span><span style="COLOR: rgb(51,153,102)">// simple</span><span style="COLOR: rgb(51,102,255)"></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>dynaBean1.set("customer", "title", "Mr");<span>     </span><span>   </span></span><span lang="EN-US" style="COLOR: rgb(51,153,102)">// mapped</span><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>dynaBean1.set("address", 0, "address1");<span>      </span><span>   </span></span><span lang="EN-US" style="COLOR: rgb(51,153,102)">// indexed</span><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>System.out.println(dynaBean1.get("address",0));</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>Map myMap = dynaBean1.getMap();<span>           </span></span><span lang="EN-US" style="COLOR: rgb(51,153,102)">// retrieve the Map</span><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>System.out.println(myMap.toString());</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">上面的例子可以看到，它可以在</span><span lang="EN-US">set</span><span style="FONT-FAMILY: 宋体">时自动增加</span><span lang="EN-US">bean</span><span style="FONT-FAMILY: 宋体">的</span><span lang="EN-US">property</span><span style="FONT-FAMILY: 宋体">（既赋值的同时增加</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">中的</span><span lang="EN-US">property</span><span style="FONT-FAMILY: 宋体">），同时也支持</span><span lang="EN-US">3</span><span style="FONT-FAMILY: 宋体">中类型的</span><span lang="EN-US">property</span><span style="FONT-FAMILY: 宋体">，并且</span><span lang="EN-US">LazyDynaMap</span><span style="FONT-FAMILY: 宋体">还可以导出为</span><span lang="EN-US">map</span><span style="FONT-FAMILY: 宋体">。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">对于这个类还有两个重要的</span><span lang="EN-US">Field</span><span style="FONT-FAMILY: 宋体">要注意：</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span>returnnull</span><span style="FONT-FAMILY: 宋体">——指定在</span><span lang="EN-US">get</span><span style="FONT-FAMILY: 宋体">方法使用了一个没有定义过的</span><span lang="EN-US">property</span><span style="FONT-FAMILY: 宋体">时，</span><span lang="EN-US">DynaBean</span><span style="FONT-FAMILY: 宋体">的行为。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span><span>  </span><span style="COLOR: rgb(51,153,102)">//</span></span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">取的字段的信息</span><span lang="EN-US" style="COLOR: rgb(51,153,102)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>      </span><span style="COLOR: rgb(51,102,255)">dynaBean1.setReturnNull(true);</span><span style="COLOR: rgb(51,153,102)">//</span></span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">设为</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">ture</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">。若</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">Bean</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">中没有此字段，返回</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">null</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,153,102)"><span>    </span><span>                            </span>//</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">默认为</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">false</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">。若</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">Bean</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">中没有此字段，自动增加一个：）</span><span lang="EN-US" style="COLOR: rgb(51,153,102)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>System.out.println(dynaBean1.get("aaa"));</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">//</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">此时返回</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">null</span><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span>Restricted</span><span style="FONT-FAMILY: 宋体">——指定是否允许改变这个</span><span lang="EN-US">bean</span><span style="FONT-FAMILY: 宋体">的</span><span lang="EN-US">property</span><span style="FONT-FAMILY: 宋体">。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt"><span lang="EN-US" style="COLOR: rgb(51,153,102)">//MutableDynaClass.setRestricted</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">设为</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">true</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">后，字段不可再增删和修改</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">.</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,153,102)"><span>      </span>//</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">默认为</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">false</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">，允许增删和修改</span><span lang="EN-US" style="COLOR: rgb(51,153,102)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>      </span><span style="COLOR: rgb(51,102,255)">dynaBean1.setRestricted(true);</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>dynaBean1.set("test","error");</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">//</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">这里会出错！</span><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">通过设置这两个属性，可以防止意外修改</span><span lang="EN-US">DynaBean</span><span style="FONT-FAMILY: 宋体">的</span><span lang="EN-US">property</span><span style="FONT-FAMILY: 宋体">。在设计架构时，你可以在后台从数据表或</span><span lang="EN-US">xml</span><span style="FONT-FAMILY: 宋体">文件自动产生</span><span lang="EN-US">DynaBean</span><span style="FONT-FAMILY: 宋体">，在传到控制层和表示层之前设置上述属性使其</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">结构不允许修改，如此就不可能无意中修改</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">包含的属性……这样既可以享用它的便利，有可以防止由此引入的错误可能，设计者实在深得偷懒的精髓啊！！！！！</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"></span> </p><p class="1" style="MARGIN: 17pt 0cm 16.5pt 21.25pt"><a name="_Toc93765171"><span lang="EN-US"><span><strong><font size="6">3.</font></strong><span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">   </span></span></span><span style="FONT-FAMILY: 宋体"><font size="6"><strong>其他</strong></font></span></a></p><p class="2" style="MARGIN: 13pt 0cm 13pt 1cm"><a name="_Toc93765172"><span lang="EN-US"><span><strong><font face="Arial" size="5">3.1.</font></strong><span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal"></span></span></span><span lang="EN-US"><font face="Arial" size="5"><strong>BeanUtils</strong></font></span></a><span><strong><font size="5"><span style="FONT-FAMILY: 黑体">和</span><span lang="EN-US"><font face="Arial">PropertyUtils</font></span></font></strong></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">这两个类几乎有一摸一样的功能，唯一的区别是：</span><span lang="EN-US">BeanUtils</span><span style="FONT-FAMILY: 宋体">在对</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">赋值是会进行类型转化。举例来说也就是在</span><span lang="EN-US">copyProperty</span><span style="FONT-FAMILY: 宋体">时只要属性名相同，就算类型不同，</span><span lang="EN-US">BeanUtils</span><span style="FONT-FAMILY: 宋体">也可以进行</span><span lang="EN-US">copy</span><span style="FONT-FAMILY: 宋体">；而</span><span lang="EN-US">PropertyBean</span><span style="FONT-FAMILY: 宋体">则可能会报错！！</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">针对上面的例子，新建一个</span><span lang="EN-US">Company2</span><span style="FONT-FAMILY: 宋体">的类，其中代码与</span><span lang="EN-US">Company</span><span style="FONT-FAMILY: 宋体">一样，只是将</span><span lang="EN-US">otherinfo</span><span style="FONT-FAMILY: 宋体">从</span><span lang="EN-US">String[]</span><span style="FONT-FAMILY: 宋体">改为</span><span lang="EN-US">String</span><span style="FONT-FAMILY: 宋体">。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>      </span><span style="COLOR: rgb(51,102,255)">Company c = init();</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>Company2 c2 = new Company2();</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>BeanUtils.copyProperties(c2,c);</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,153,102)">//<span>      </span>PropertyUtils.copyProperties(c2,c); </span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">这句会报错！！</span><span lang="EN-US" style="COLOR: rgb(51,153,102)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>System.out.println(c2.getOtherInfo());</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>    </span></span><span style="FONT-FAMILY: 宋体">当然</span><span lang="EN-US">2</span><span style="FONT-FAMILY: 宋体">个</span><span lang="EN-US">Bean</span><span style="FONT-FAMILY: 宋体">之间的同名属性的类型必须是可以转化的，否则用</span><span lang="EN-US">BeanUtils</span><span style="FONT-FAMILY: 宋体">一样会报错。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">若实现了</span><span lang="EN-US">org.apache.commons.beanutils.Converter</span><span style="FONT-FAMILY: 宋体">接口则可以自定义类型之间的转化。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体">由于不做类型转化，用</span><span lang="EN-US">PropertyUtils</span><span style="FONT-FAMILY: 宋体">在速度上会有很大提高！</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体">此外，不作类型转化还有一个好处，如下面的代码：</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span></span><span lang="EN-US" style="COLOR: rgb(51,153,102)">//test data type convert</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,153,102)">//<span>      </span>ArrayList a1 = BeanUtils.getProperty(c,"product"); //BeanUtils</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">返回的是</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">String</span><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>System.out.println("--" + BeanUtils.getProperty(c,"product"));     </span><span lang="EN-US" style="COLOR: rgb(51,153,102)">//</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">取出后直接被转为</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">String</span><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>ArrayList a = (ArrayList)PropertyUtils.getProperty(c,"product");</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">//PropertyUtils</span><span style="COLOR: rgb(51,153,102); FONT-FAMILY: 宋体">返回的是</span><span lang="EN-US" style="COLOR: rgb(51,153,102)">Object</span><span lang="EN-US" style="COLOR: rgb(51,102,255)"></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="COLOR: rgb(51,102,255)"><span>      </span>System.out.println("--" + a.get(1))</span><span lang="EN-US">;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体">用</span><span lang="EN-US">BeanUtils</span><span style="FONT-FAMILY: 宋体">无法返回一个对象（除非自己写一个</span><span lang="EN-US">Converter</span><span style="FONT-FAMILY: 宋体">），它会自动进行类型转化，然后返回</span><span lang="EN-US">String</span><span style="FONT-FAMILY: 宋体">。对于想返回</span><span lang="EN-US">java</span><span style="FONT-FAMILY: 宋体">类或自定义类的话，还是不要老它大驾转化了。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"></span> </p><p class="2" style="MARGIN: 13pt 0cm 13pt 1cm"><a name="_Toc93765173"><span lang="EN-US"><span><strong><font face="Arial" size="5">3.2.</font></strong><span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal"></span></span></span><span lang="EN-US"><font face="Arial" size="5"><strong>Utils</strong></font></span></a><span><span style="FONT-FAMILY: 黑体"><strong><font size="5">类</font></strong></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span style="FONT-FAMILY: 宋体">所有的</span><span lang="EN-US">XXXUtils</span><span style="FONT-FAMILY: 宋体">类都提供的是静态方法，可以直接调用，其主要实现都在相应的</span><span lang="EN-US">XXXUtilsBean</span><span style="FONT-FAMILY: 宋体">中：</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">BeanUtils<span>  </span><span>   </span></span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">——<span lang="EN-US">&gt; BeanUtilsBean</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><span>       </span></span><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">ConvertUtils<span>  </span></span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">——<span lang="EN-US">&gt; ConvertUtilsBean</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><span>    </span>PropertyUtils </span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体">——<span lang="EN-US">&gt; PropertyUtilsBean</span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"></span> </p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体">其意思看类名也应该知道的差不多了，我就不再废话啦！当然你也可以直接调用那些</span><span lang="EN-US">XXXUtilsBean</span><span style="FONT-FAMILY: 宋体">，功能都一样！</span></p><img src ="http://www.blogjava.net/jiandeh/aggbug/47487.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2006-05-22 16:29 <a href="http://www.blogjava.net/jiandeh/articles/47487.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Gaijin Studio Documentation</title><link>http://www.blogjava.net/jiandeh/articles/42543.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Sat, 22 Apr 2006 13:28:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/articles/42543.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/42543.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/articles/42543.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/42543.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/42543.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Gaijin Studio Documentation																																 																																														Installing Gaijin Studio for Spring Web Flows																		...&nbsp;&nbsp;<a href='http://www.blogjava.net/jiandeh/articles/42543.html'>阅读全文</a><img src ="http://www.blogjava.net/jiandeh/aggbug/42543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2006-04-22 21:28 <a href="http://www.blogjava.net/jiandeh/articles/42543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nitrox使用笔记</title><link>http://www.blogjava.net/jiandeh/articles/42532.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Sat, 22 Apr 2006 12:40:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/articles/42532.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/42532.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/articles/42532.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/42532.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/42532.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; tab-stops: list 18.0pt; mso-list: l0 level1 lfo1">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">1、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				<span style="FONT-FAMILY: 宋体">如何设置调试<span lang="EN-US">JSP环境？<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-char-indent-count: -2.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">A）、设置服务器配置选项卡，</span>
				<span class="postbody1">
						<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-ansi-font-size: 10.5pt">Window &gt; Preferences &gt; NitroX &gt; Server Configuration &gt; Edit Server Configuration &gt; Configuration Tab，如图：<o:p></o:p></span>
						<br />
						<img src="C:\clip_image002.jpg" />
						<br />
						<br />
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?>
						<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">
								<v:stroke joinstyle="miter">
								</v:stroke>
								<v:formulas>
										<v:f eqn="if lineDrawn pixelLineWidth 0">
										</v:f>
										<v:f eqn="sum @0 1 0">
										</v:f>
										<v:f eqn="sum 0 0 @1">
										</v:f>
										<v:f eqn="prod @2 1 2">
										</v:f>
										<v:f eqn="prod @3 21600 pixelWidth">
										</v:f>
										<v:f eqn="prod @3 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @0 0 1">
										</v:f>
										<v:f eqn="prod @6 1 2">
										</v:f>
										<v:f eqn="prod @7 21600 pixelWidth">
										</v:f>
										<v:f eqn="sum @8 21600 0">
										</v:f>
										<v:f eqn="prod @7 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @10 21600 0">
										</v:f>
								</v:formulas>
								<v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f">
								</v:path>
								<o:lock aspectratio="t" v:ext="edit">
								</o:lock>
						</v:shapetype>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">B）、运行DEBUG，则在TOMCAT5.0的\conf\Catalina\localhost\目录下产生一个ROOT.xml文件，拷贝ROOT.xml文件内容（有关虚拟目录设置）到\conf\下的Server.xml文件中，格式如下：<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">&lt;Context debug="0" docBase="/d:/eclipse/workspace/MyProject/web/" path="" <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">reloadable="true" workDir="C:\Tomcat 5.0\work\nitrox_dbg\MyProject"&gt;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">&lt;Loader className="org.apache.catalina.loader.DevLoader" reloadable="true" debug="0"/&gt;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<span style="mso-tab-count: 1">     </span>&lt;Resource name="jdbc/OracleDS" auth="Container" type="javax.sql.DataSource"/&gt;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<span style="mso-tab-count: 1">     </span>&lt;ResourceParams name="jdbc/OracleDS"&gt;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">
						<span style="mso-tab-count: 1">     </span>…<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">&lt;/Context&gt;<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">注：特别是调试路径的设置，系统会在</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">ROOT.xml中</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">自动生成，直接拷贝相关内容过去即可，<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt">如<span lang="EN-US">workDir="C:\Tomcat 5.0\work\nitrox_dbg\MyProject"</span></span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/jiandeh/aggbug/42532.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2006-04-22 20:40 <a href="http://www.blogjava.net/jiandeh/articles/42532.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AppContextManager装载Spring</title><link>http://www.blogjava.net/jiandeh/articles/42523.html</link><dc:creator>LORD BLOG</dc:creator><author>LORD BLOG</author><pubDate>Sat, 22 Apr 2006 12:24:00 GMT</pubDate><guid>http://www.blogjava.net/jiandeh/articles/42523.html</guid><wfw:comment>http://www.blogjava.net/jiandeh/comments/42523.html</wfw:comment><comments>http://www.blogjava.net/jiandeh/articles/42523.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiandeh/comments/commentRss/42523.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiandeh/services/trackbacks/42523.html</trackback:ping><description><![CDATA[
		<p>package com.hsit.common.spring;</p>
		<p>import org.springframework.beans.factory.access.BeanFactoryReference;<br />import org.springframework.beans.factory.access.SingletonBeanFactoryLocator;<br />import org.springframework.beans.factory.access.BeanFactoryLocator;<br />import org.apache.commons.logging.LogFactory;<br />import org.apache.commons.logging.Log;</p>
		<p>public class AppContextManager {<br />  private AppContextManager() {<br />  }</p>
		<p>  private static AppBeanFactory m_appBeanFactory = null;</p>
		<p>  /**<br />   * 根据BeanName获得对应的类工厂[不通过PlugIn方法实现] 更新日志：&lt;br&gt;<br />   * 日期 作者 内容&lt;br&gt;<br />   * =================================================================&lt;br&gt;<br />   * 2004-08-26 黄建德&lt;br&gt;<br />   * ①创建WEB-INF/classes/下beanRefFactory.xml&lt;br&gt;<br />   * ②beanRefFactory.xml配置相关Context文件 &lt;bean id="beanFactory" class=...&gt;&lt;br&gt;<br />   * ③web.xml配置路径为WEB-INF/classes/... &lt;br&gt;<br />   * ④struts-config.xml文件去掉[注释]相关PlugIn&lt;br&gt;<br />   * &lt;plug-in className=" com.hsit.common.spring.InitAppContext "/&gt;<br />   * =================================================================&lt;br&gt;<br />   * <br />   * @param beanName<br />   *          String Bean配置体系的ID名如&lt;bean id="beanCompany" ...&gt;<br />   * @return Object 根据BeanName获得对应的类工厂<br />   */<br />  public static Object getBean(String beanName) {<br />    BeanFactoryLocator bfLocator = SingletonBeanFactoryLocator.getInstance();<br />    BeanFactoryReference bf = bfLocator.useBeanFactory("beanFactory");<br />    return bf.getFactory().getBean(beanName);<br />  }</p>
		<p>  public static void setBeanFactory(AppBeanFactory appBeanFactory) {<br />    m_appBeanFactory = appBeanFactory;<br />  }</p>
		<p>  public static AppBeanFactory getBeanFactory() {<br />    return m_appBeanFactory;<br />  }</p>
		<p>}<br /></p>
<img src ="http://www.blogjava.net/jiandeh/aggbug/42523.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiandeh/" target="_blank">LORD BLOG</a> 2006-04-22 20:24 <a href="http://www.blogjava.net/jiandeh/articles/42523.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>