1. 程式人生 > >java三大框架ssh簡析

java三大框架ssh簡析

一.ssh環境搭配

(1)struts2(web層v和c)

----建立Action

----建立Action核心配置檔案(URL對映),要求類路徑下並且命名為struts.xml

----配置過濾器(沒它不行)

(2)spring(業務邏輯層m)

----建立核心配置檔案

----配置監聽器,指定配置檔案的位置,實現伺服器啟動時載入配置檔案

(3)hibernate(持久層m)

----建立實體類

----配置實體類的資料庫表對映配置檔案

----配置hibernate核心配置檔案,要求類路徑下並命名為hibernate.cfg.xml(也可以交給spring來配置)

----核心配置檔案引入對映配置檔案

二.ssh整合

(1)struts和spring整合

----Servlet的例項是由伺服器來建立的,無法將其移植Java檔案中,自然也就不能在配置檔案中進行Servlet例項的配置。但是這就不符合spring的IOC思想了,所以action的出現就解決了這個問題。

----struts將action例項交給spring來建立(多例項)

----struts的核心配置檔案中的class屬性值對應spring配置檔案中的action的bean的id屬性值

(2)hibernate和spring整合

----hibernate將sessionfactory的例項交給spring來建立(需要注入dataSource)

----在spring的核心配置檔案中引入hibernate.cfg.xml核心配置檔案(也可以將hibernate的核心配置都交給spring來配置,這樣就不需要hibernate的核心配置檔案了)

(3)屬性注入(DI)

----在類中新增要建立的例項類屬性,即set()方法

----將spring建立的物件通過spring的核心配置檔案實現屬性的注入(傳遞)

(4)配置事務管理器,並在service層新增事務註解

三.ssh原理解析

(1)配置檔案

----將各層例項建立移植到配置檔案來建立(IOC),實現解耦和,降低各層之間的關係耦合

(2)BeanFactory

----通過dom4j解析spring的配置檔案,獲取配置檔案中要建立例項的類的全路徑

----然後再通過類的全路徑結合反射機制實現例項的建立

----最後將建立的實體類通過屬性的set()方法傳遞到各層去,完成屬性的注入(或者說例項的傳遞)