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特征,簡化了數據庫操作。
【編輯推薦】