1. 程式人生 > >SSM框架詳解(非原創)

SSM框架詳解(非原創)

Web層

SpringMVC框架,主要利用中央控制器DispatcherServlet完成客戶端傳送的請求。

springMVC的工作原理:

1、客戶端發出一個http請求給web伺服器,web伺服器對http請求進行解析,如果匹配DispatcherServlet的請求對映路徑(在web.xml中指定),web容器將請求轉交給DispatcherServlet。

2、DipatcherServlet接收到這個請求之後將根據請求的資訊(包括URL、Http方法、請求報文頭和請求引數Cookie等)以及HandlerMapping的配置找到處理請求的處理器(Handler)。

3-4、DispatcherServlet根據HandlerMapping找到對應的Handler,將處理權交給Handler(Handler將具體的處理進行封裝),再由具體的HandlerAdapter對Handler進行具體的呼叫。

5、Handler對資料處理完成以後將返回一個ModelAndView()物件給DispatcherServlet。

6、Handler返回的ModelAndView()只是一個邏輯檢視並不是一個正式的檢視,DispatcherSevlet通過ViewResolver將邏輯檢視轉化為真正的檢視View。

7、Dispatcher通過model解析出ModelAndView()中的引數進行解析最終展現出完整的view並返回給客戶端。

Service層

Spring是一個分層的輕量級Java開源框架,主要是提供一種方法來管理業務物件;

IOC容器管理:可通過註解或配置檔案將物業物件自動注入到SpringIOC容器進行生命週期的管理,SpringIOC通過控制反轉(IOC)來促進低耦合,實現依賴物件的被動傳遞,而不是讓這個物件主動建立和查詢所依賴的物件。

面向切面:Spring也提供了一種面向切面程式設計的支援,通過分離業務邏輯和系統服務,進行內聚性的開發,使得業務物件僅僅實現自己關注的業務邏輯,而不需要關注其他的點,不要幹一些其他的副業。例如:日誌或事物支援等。

支援事務:在實現業務邏輯時實現資料庫事務的一般抽象化,允許宣告式事務管理,簡化了事務,使其與資料底層分離。

Spring的這些特徵使的程式碼的編寫更加乾淨、易於管理、便於測試,同時為Spring中的各模組提供了基礎支援。

Dao層

也叫作資料訪問層,主要利用Mybatis這一優秀的持久化層框架實現程式碼與SQL語句的分離,消除了幾乎所有的JDBC程式碼和引數的手工設定以及結果集的檢索;

功能結構分為三層:

(1)API介面層:提供給外部使用的介面API,開發人員通過這些本地API來操縱資料庫。介面層一接收到呼叫請求就會呼叫資料處理層來完成具體的資料處理。

(2)資料處理層:負責具體的SQL查詢、SQL解析、SQL執行和執行結果對映處理等。它主要的目的是根據呼叫的請求完成一次資料庫操作。

(3)基礎支撐層:負責最基礎的功能支撐,包括連線管理、事務管理、配置載入和快取處理,這些都是共用的東西,將他們抽取出來作為最基礎的元件。為上層的資料處理層提供最基礎的支撐。

再次宣告並非本人原創!偶爾從網上翻來的,感覺他(http://blog.csdn.net/csdn_terence)這個講的還挺詳細的,手賤就給轉載分享出來了