Spring, Hibernate與Struts集成的大概思路
Spring, Hibernate與Struts集成的大概思路
https://blog.csdn.net/lwj3025/archive/2007/11/14/1885587.aspx
這篇文章是筆者在再次讀了夏昕的《Spring Guide》後的一些總結。由於本人最熟悉的是Struts,而對Spring、Hibernate還沒有很多的實踐經驗,所以雖然這篇文章講的是三者的集成,但主要還是以Struts為中心。
首先看一下Struts與Spring的集成。
首先看一下在struts-config.xml中需要做的改動,最開始是加入插件聲明:
<struts-config>
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
</struts-config>
還有一個需要在Struts配置文件中改的是它的ActionMapping部分,這個在後麵再說。
事實上Struts中加入Spring並不是很複雜,最重要的是我們需要清楚係統是不是一定要Spring,即Spring的所謂依賴注入等特性對開發的意義是不是要大於使用Spring後增加的開發成本。
下麵用圖來說明Struts與Spring結合後的程序運行基本流程:
如上所示,Struts與Spring集成最重要的一點就是改變struts-config.xml中的Action-Mapping設置,在進入Struts的Action之前,Spring就獲得了控製權。
Spring和Struts集成的部分就先說到這裏。
有關Struts和Hibernate的集成,內容不是很複雜,我歸納了以下幾個要點:
1、Hibernate-Context.xml
這個文件的<bean>項中需要設定SessionFactory屬性,Spring已經整合了SessionFactory設置,所以無需hibernate.cfg.xml再設了。同時,這個項中也可以設定映射文件.hbm.xml的列表。
2、DAO繼承HibernateDaoSupport,以調用其函數
HibnernateDaoSupport實現了HibernateTemplate與SessionFactory的關聯。HibernateTemplate(用HibnernateDaoSupport裏的getHibernateTemplate()可以獲得)對Hibernate Session進行了封裝,可省去獲得Session實例、事務啟動與提交/回滾以及異常處理等一係列步驟,所以非常簡單。
上麵從兩個方麵講了Struts、Spring和Hibernate三者的集成,最後簡單歸納一下:
通過修改Struts的配置文件,Spring得以獲得對Struts中Action的控製權,同時也將Spring的特性加入了Struts。而與Hibernate結合以後,通過利用上述的Spring特征,簡化了數據庫操作。
https://blog.csdn.net/lwj3025/archive/2007/11/14/1885587.aspx
最後更新:2017-04-02 05:21:03