﻿<?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-听说日本到处都是神，在保护肯努力的人 -随笔分类-ajax技术</title><link>http://www.blogjava.net/xfuboywz/category/14637.html</link><description>&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "ca-pub-1944176156128447";
/* blogjava 468 60 */
google_ad_slot = "8768033947";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;</description><language>zh-cn</language><lastBuildDate>Thu, 15 May 2014 05:34:37 GMT</lastBuildDate><pubDate>Thu, 15 May 2014 05:34:37 GMT</pubDate><ttl>60</ttl><item><title>2014-5-11</title><link>http://www.blogjava.net/xfuboywz/archive/2014/05/11/413527.html</link><dc:creator>77</dc:creator><author>77</author><pubDate>Sun, 11 May 2014 13:36:00 GMT</pubDate><guid>http://www.blogjava.net/xfuboywz/archive/2014/05/11/413527.html</guid><wfw:comment>http://www.blogjava.net/xfuboywz/comments/413527.html</wfw:comment><comments>http://www.blogjava.net/xfuboywz/archive/2014/05/11/413527.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xfuboywz/comments/commentRss/413527.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xfuboywz/services/trackbacks/413527.html</trackback:ping><description><![CDATA[<div>2014-5-11</div><img src ="http://www.blogjava.net/xfuboywz/aggbug/413527.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xfuboywz/" target="_blank">77</a> 2014-05-11 21:36 <a href="http://www.blogjava.net/xfuboywz/archive/2014/05/11/413527.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2007年3月22日  唯音数码</title><link>http://www.blogjava.net/xfuboywz/archive/2007/03/22/105552.html</link><dc:creator>77</dc:creator><author>77</author><pubDate>Thu, 22 Mar 2007 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/xfuboywz/archive/2007/03/22/105552.html</guid><wfw:comment>http://www.blogjava.net/xfuboywz/comments/105552.html</wfw:comment><comments>http://www.blogjava.net/xfuboywz/archive/2007/03/22/105552.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/xfuboywz/comments/commentRss/105552.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xfuboywz/services/trackbacks/105552.html</trackback:ping><description><![CDATA[2007年3月22日  唯音数码<img src ="http://www.blogjava.net/xfuboywz/aggbug/105552.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xfuboywz/" target="_blank">77</a> 2007-03-22 14:22 <a href="http://www.blogjava.net/xfuboywz/archive/2007/03/22/105552.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不说了  向他们学习。</title><link>http://www.blogjava.net/xfuboywz/archive/2007/03/12/103379.html</link><dc:creator>77</dc:creator><author>77</author><pubDate>Mon, 12 Mar 2007 11:26:00 GMT</pubDate><guid>http://www.blogjava.net/xfuboywz/archive/2007/03/12/103379.html</guid><wfw:comment>http://www.blogjava.net/xfuboywz/comments/103379.html</wfw:comment><comments>http://www.blogjava.net/xfuboywz/archive/2007/03/12/103379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xfuboywz/comments/commentRss/103379.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xfuboywz/services/trackbacks/103379.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">2007</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年</span>
				<span lang="EN-US">3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">月</span>
				<span lang="EN-US">12</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">日</span>
				<span lang="EN-US">
						<span style="mso-spacerun: yes">          </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">星期一</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">刚才偶然看到一个</span>
				<span lang="EN-US">msn, achqian@hotmail.com,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在技术列表中</span>
				<span lang="EN-US">.</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">估计是个搞</span>
				<span lang="EN-US">java</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">.</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（我很少乱加</span>
				<span lang="EN-US">MSN </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好友）。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后来浏览他的博客才知道</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个人就是发布</span>
				<span lang="EN-US">webwork</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">作者，很吃惊呀。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">去看看个人简介。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">82</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">年出生的。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">04</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">年</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">6</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">月就已经发布了</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最新</span>
				<span lang="EN-US">WebWork</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">教程</span>
				<span lang="EN-US">0.90</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">留下的只有吃惊和想不到。又一个技术牛人呀。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我总喜欢把一个人的成就和年龄去做比较。我更钦佩那些年龄不是很大，却非常具有开发实力的突击手。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不说了</span>
				<span lang="EN-US">
						<span style="mso-spacerun: yes">  </span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">向他们学习。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-spacerun: yes">
						</span>
				</span> </p>
<img src ="http://www.blogjava.net/xfuboywz/aggbug/103379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xfuboywz/" target="_blank">77</a> 2007-03-12 19:26 <a href="http://www.blogjava.net/xfuboywz/archive/2007/03/12/103379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring</title><link>http://www.blogjava.net/xfuboywz/archive/2007/03/09/102824.html</link><dc:creator>77</dc:creator><author>77</author><pubDate>Fri, 09 Mar 2007 06:59:00 GMT</pubDate><guid>http://www.blogjava.net/xfuboywz/archive/2007/03/09/102824.html</guid><wfw:comment>http://www.blogjava.net/xfuboywz/comments/102824.html</wfw:comment><comments>http://www.blogjava.net/xfuboywz/archive/2007/03/09/102824.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xfuboywz/comments/commentRss/102824.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xfuboywz/services/trackbacks/102824.html</trackback:ping><description><![CDATA[
		<p>
				<a name="1">
						<span class="atitle">Spring 框架</span>
				</a>
		</p>
		<p>Spring 框架是一个分层架构，由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上，核心容器定义了创建、配置和管理 bean 的方式，如图 1 所示。</p>
		<p>
				<br />
				<br />
				<a name="fig1">
						<b>图 1. Spring 框架的 7 个模块</b>
				</a>|   Spring 面向方面编程（AOP）和控制反转 （IOC） 容器<br /><img height="288" alt="Spring 框架图示" src="http://www.ibm.com/developerworks/cn/java/wa-spring1/spring_framework.gif" width="555" /><br /></p>
		<p>组成 Spring 框架的每个模块（或组件）都可以单独存在，或者与其他一个或多个模块联合实现。每个模块的功能如下： </p>
		<ul>
				<li>
						<b>核心容器</b>：核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 <code>BeanFactory</code>，它是工厂模式的实现。<font color="#0000ff"><strong><code>BeanFactory</code> 使用<i>控制反转</i> （IOC） 模式</strong></font>将应用程序的配置和依赖性规范与实际的应用程序代码分开。 
</li>
				<li>
						<b>Spring 上下文</b>：<font color="#ff0066"><strong>Spring 上下文是一个配置文件，向 Spring 框架提供上下文信息。Spring 上下文包括企业服务，例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。</strong></font></li>
				<li>
						<b>Spring AOP</b>：通过配置管理特性，Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以，可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP，不用依赖 EJB 组件，就可以将声明性事务管理集成到应用程序中。 
</li>
				<li>
						<b>Spring DAO</b>：JDBC DAO 抽象层提供了有意义的异常层次结构，可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理，并且极大地降低了需要编写的异常代码数量（例如打开和关闭连接）。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。 
</li>
				<li>
						<b>Spring ORM</b>：Spring 框架插入了若干个 ORM 框架，从而提供了 ORM 的对象关系工具，其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 
</li>
				<li>
						<b>Spring Web 模块</b>：Web 上下文模块建立在应用程序上下文模块之上，为基于 Web 的应用程序提供了上下文。所以，Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 
</li>
				<li>
						<b>Spring MVC 框架</b>：MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口，MVC 框架变成为高度可配置的，MVC 容纳了大量视图技术，其中包括 JSP、Velocity、Tiles、iText 和 POI。 </li>
		</ul>
		<p>
		</p>
		<p>Spring 框架的功能可以用在任何 J2EE 服务器中，大多数功能也适用于不受管理的环境。Spring 的核心要点是：支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问，这样的对象可以在不同 J2EE 环境 （Web 或 EJB）、独立应用程序、测试环境之间重用。 </p>
<img src ="http://www.blogjava.net/xfuboywz/aggbug/102824.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xfuboywz/" target="_blank">77</a> 2007-03-09 14:59 <a href="http://www.blogjava.net/xfuboywz/archive/2007/03/09/102824.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>簡介HibernateTemplate </title><link>http://www.blogjava.net/xfuboywz/archive/2007/03/09/102729.html</link><dc:creator>77</dc:creator><author>77</author><pubDate>Fri, 09 Mar 2007 00:57:00 GMT</pubDate><guid>http://www.blogjava.net/xfuboywz/archive/2007/03/09/102729.html</guid><wfw:comment>http://www.blogjava.net/xfuboywz/comments/102729.html</wfw:comment><comments>http://www.blogjava.net/xfuboywz/archive/2007/03/09/102729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xfuboywz/comments/commentRss/102729.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xfuboywz/services/trackbacks/102729.html</trackback:ping><description><![CDATA[就類似JdbcTemplate一樣，HibernateTemplate封裝了Hibernate存儲時的一些細節，例如try...catch的例外處理等等，HibernateTemplate的使用在觀念上與JdbcTemplate是類似的，這邊簡單的介紹一下HibernateTemplate的使用。 
<p>　　首先我們看一下Bean定義檔，這與前一個主題沒什麼太大的差別： </p><p>　代碼: </p><div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid"><div class="codeContent"><pre class="code-java">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt; 
&lt;!DOCTYPE beans PUBLIC <span class="code-quote">"-<span class="code-comment">//SPRING/DTD BEAN/EN"</span><span class="code-quote">"http://www.springframework.org/dtd/spring-beans.dtd"</span>&gt; 
</span>&lt;beans&gt; 
    &lt;bean id=<span class="code-quote">"dataSource"</span> class=<span class="code-quote">"org.springframework.jdbc.datasource.DriverManagerDataSource"</span>&gt; 
        &lt;property name=<span class="code-quote">"driverClassName"</span>&gt; 
            &lt;value&gt;com.mysql.jdbc.Driver&lt;/value&gt; 
        &lt;/property&gt; 
        &lt;property name=<span class="code-quote">"url"</span>&gt; 
            &lt;value&gt;jdbc:mysql:<span class="code-comment">//localhost:3306/TestDB&lt;/value&gt; 
</span>        &lt;/property&gt; 
        &lt;property name=<span class="code-quote">"username"</span>&gt; 
            &lt;value&gt;caterpillar&lt;/value&gt; 
        &lt;/property&gt; 
        &lt;property name=<span class="code-quote">"password"</span>&gt; 
            &lt;value&gt;123456&lt;/value&gt; 
        &lt;/property&gt; 
    &lt;/bean&gt; 
    
    &lt;bean id=<span class="code-quote">"sessionFactory"</span> class=<span class="code-quote">"org.springframework.orm.hibernate.LocalSessionFactoryBean"</span> destroy-method=<span class="code-quote">"close"</span>&gt; 
        &lt;property name=<span class="code-quote">"dataSource"</span>&gt; 
            &lt;ref bean=<span class="code-quote">"dataSource"</span>/&gt; 
        &lt;/property&gt; 
        &lt;property name=<span class="code-quote">"mappingResources"</span>&gt; 
            &lt;list&gt; 
                &lt;value&gt;User.hbm.xml&lt;/value&gt; 
            &lt;/list&gt; 
        &lt;/property&gt; 
        &lt;property name=<span class="code-quote">"hibernateProperties"</span>&gt; 
            &lt;props&gt; 
                &lt;prop key=<span class="code-quote">"hibernate.dialect"</span>&gt; 
                    net.sf.hibernate.dialect.MySQLDialect 
                &lt;/prop&gt; 
                &lt;prop key=<span class="code-quote">"hibernate.show_sql"</span>&gt; 
                    <span class="code-keyword">true</span> 
                &lt;/prop&gt; 
            &lt;/props&gt; 
        &lt;/property&gt; 
    &lt;/bean&gt; 


    &lt;bean id=<span class="code-quote">"userDAO"</span> class=<span class="code-quote">"onlyfun.caterpillar.UserDAO"</span>&gt; 
        &lt;property name=<span class="code-quote">"sessionFactory"</span>&gt; 
            &lt;ref bean=<span class="code-quote">"sessionFactory"</span>/&gt; 
        &lt;/property&gt; 
    &lt;/bean&gt; 
&lt;/beans&gt;</pre></div></div><p>　　在這邊UserDAO將繼承自HibernateDaoSupport類別，這可以幫我們省去一些管理sessionFactory、hibernateTemplate資源的工作，我們只要注入sessionFactory就好了，我們的DAO設計如下： </p><p>　代碼: </p><div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid"><div class="codeHeader" style="BORDER-BOTTOM-STYLE: solid"><b>UserDAO.java</b></div><div class="codeContent"><pre class="code-java"><span class="code-keyword">package</span> onlyfun.caterpillar; 

<span class="code-keyword">import</span> net.sf.hibernate.*; 
<span class="code-keyword">import</span> org.springframework.orm.hibernate.*; 
<span class="code-keyword">import</span> org.springframework.orm.hibernate.support.*; 


<span class="code-keyword">public</span> class UserDAO <span class="code-keyword">extends</span> HibernateDaoSupport { 
    <span class="code-keyword">public</span> void insertUser(<span class="code-keyword">final</span> User user) { 
        getHibernateTemplate().execute(<span class="code-keyword">new</span> HibernateCallback() { 
                <span class="code-keyword">public</span><span class="code-object">Object</span> doInHibernate(Session session) <span class="code-keyword">throws</span> HibernateException { 
                    session.saveOrUpdate(user); 
                    <span class="code-keyword">return</span><span class="code-keyword">null</span>; 
                } 
            }); 
    } 
}</pre></div></div><p>　　只要注入sessionFactory，之後調用getHibernateTemplate()就可以取得HibernateTemplate的實例，我們利用callback方法，實作HibernateCallback介面，在doInHibernate()中進行存儲操作。 </p><p>　　對於簡單的存儲操作，我們甚至可以直接使用HibernateTemplate所提供的find()、load()、saveOrUpdate()、delete()等方法，而不用使用callback，例如： </p><p>　代碼: </p><div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid"><div class="codeHeader" style="BORDER-BOTTOM-STYLE: solid"><b>UserDAO.java</b></div><div class="codeContent"><pre class="code-java"><span class="code-keyword">package</span> onlyfun.caterpillar; 

<span class="code-keyword">import</span> org.springframework.orm.hibernate.support.*; 

<span class="code-keyword">public</span> class UserDAO <span class="code-keyword">extends</span> HibernateDaoSupport { 
    <span class="code-keyword">public</span> void insertUser(User user) { 
        getHibernateTemplate().saveOrUpdate(user); 
    } 
}</pre></div></div><p>　　不用懷疑，程式就是如此簡單，所有的細節都被封裝起來了。 </p><p>　　HibernateTemplate中只能丟出unckecked例外，如果需要處理checked例外，則您可以使用AOP Interceptor來取代HibernateTemplate，從而取代callback方法，在參考手冊中有介紹如何配置，這邊複製過來以便參考： </p><p>　代碼: </p><div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid"><div class="codeContent"><pre class="code-java">.... 
    &lt;bean id=<span class="code-quote">"myHibernateInterceptor"</span> 
        class=<span class="code-quote">"org.springframework.orm.hibernate.HibernateInterceptor"</span>&gt; 
        &lt;property name=<span class="code-quote">"sessionFactory"</span>&gt; 
            &lt;ref bean=<span class="code-quote">"mySessionFactory"</span>/&gt; 
        &lt;/property&gt; 
    &lt;/bean&gt; 

    &lt;bean id=<span class="code-quote">"myProductDaoTarget"</span> class=<span class="code-quote">"product.ProductDaoImpl"</span>&gt; 
        &lt;property name=<span class="code-quote">"sessionFactory"</span>&gt; 
            &lt;ref bean=<span class="code-quote">"mySessionFactory"</span>/&gt; 
        &lt;/property&gt; 
    &lt;/bean&gt; 

    &lt;bean id=<span class="code-quote">"myProductDao"</span> class=<span class="code-quote">"org.springframework.aop.framework.ProxyFactoryBean"</span>&gt; 
        &lt;property name=<span class="code-quote">"proxyInterfaces"</span>&gt; 
            &lt;value&gt;product.ProductDao&lt;/value&gt; 
        &lt;/property&gt; 
        &lt;property name=<span class="code-quote">"interceptorNames"</span>&gt; 
            &lt;list&gt; 
                &lt;value&gt;myHibernateInterceptor&lt;/value&gt; 
                &lt;value&gt;myProductDaoTarget&lt;/value&gt; 
            &lt;/list&gt; 
        &lt;/property&gt; 
    &lt;/bean&gt; 
....</pre></div></div><p>　代碼: </p><div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid"><div class="codeHeader" style="BORDER-BOTTOM-STYLE: solid"><b>ProductDaoImpl.java</b></div><div class="codeContent"><pre class="code-java"><span class="code-keyword">public</span> class ProductDaoImpl <span class="code-keyword">extends</span> HibernateDaoSupport <span class="code-keyword">implements</span> ProductDao { 

    <span class="code-keyword">public</span> List loadProductsByCategory(<span class="code-keyword">final</span><span class="code-object">String</span> category) <span class="code-keyword">throws</span> MyException { 
        Session session = SessionFactoryUtils.getSession(getSessionFactory(), <span class="code-keyword">false</span>); 
        <span class="code-keyword">try</span> { 
            List result = session.find( 
                <span class="code-quote">"from test.Product product where product.category=?"</span>, 
                category, Hibernate.STRING); 
            <span class="code-keyword">if</span> (result == <span class="code-keyword">null</span>) { 
                <span class="code-keyword">throw</span><span class="code-keyword">new</span> MyException(<span class="code-quote">"invalid search result"</span>); 
            } 
            <span class="code-keyword">return</span> result; 
        } 
        <span class="code-keyword">catch</span> (HibernateException ex) { 
            <span class="code-keyword">throw</span> SessionFactoryUtils.convertHibernateAccessException(ex); 
        } 
    } 
}</pre></div></div><img src ="http://www.blogjava.net/xfuboywz/aggbug/102729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xfuboywz/" target="_blank">77</a> 2007-03-09 08:57 <a href="http://www.blogjava.net/xfuboywz/archive/2007/03/09/102729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>