ssm框架原理是:將Spring、SpringMVC、MyBatis整合在一起,作為數據源較簡單的web項目的框架。流程是:Handler Mapping根據請求找到相應的Handler,調用業務邏輯進行處理,然后進行視圖解析即可。
SSM框架簡介
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內容)。SSM常作為數據源較簡單的web項目的框架。
SpringMVC
SpringMVC在項目中攔截用戶請求,它的核心Servlet即DispatcherServlet承擔中介的職責,將用戶請求通過HandlerMapping去匹配Controller,Controller就是具體對應請求所執行的操作。
SpringMVC框架運行流程
用戶將請求發送至DispatcherServlet;
DispatcherServlet收到請求查詢一個或多個HandlerMapping,找到處理該請求的Handler;
HandlerMapping根據請求找到相應的Handler,生成Handler對象返回給DispatcherServlet;
DispatcherServlet通過HandlerAdapter調用Handler;
Handler(Controller)調用業務邏輯(service)進行處理,處理完成返回ModelAndView;
HandlerAdapter將Handler處理結果ModelAndView返回給DispatcherServlet;
DispatcherServlet查詢一個或多個ViewReslover(視圖解析器),將ModelAndView傳給指定的ViewReslover;
ViewReslover解析后返回具體View給DispatcherServlet;
DispatcherServlet對View進行渲染(將模型數據填充至視圖中);
DispatcherServlet響應用戶,View將結果顯示在客戶端。
流程大致如下圖:
DispatcherServlet是整個Spring MVC的核心,它負責接收HTTP請求,組織協調Spring MVC的各個組成部分,其主要的工作有以下3項:
a. 截獲符合特定格式的URL請求;
b. 初始化DispatcherServlet上下文對應的WebApplicationContext,并將其與業務層、持久層的WebApplicationContext建立關聯;
c. 初始化Spring MVC的各個組件,并配裝到DispatcherServlet中。
Spring
Spring就像是整個項目中裝配bean的大工廠,在配置文件中可以指定使用特定的參數去調用實體類的構造方法來實例化對象。也可以稱之為項目中的粘合劑。
Spring的核心思想是IOC(控制反轉),即不再需要程序員去顯式地new一個對象,而是讓Spring框架幫你來完成這一切。IOC容器負責實例化、定位、配置應用程序中的對象及建立這些對象間的依賴。Spring的目的就是讓對象與對象(模塊與模塊)之間的關系沒有通過代碼來關聯,都是通過配置類說明管理的(Spring根據這些配置,內部通過反射去動態的組裝對象)。
IOC容器代表的就是org.springframework.beans包中的BeanFactory接口,其提供了IOC容器的基本功能;而org.springframework.context包下的ApplicationContext接口擴展了BeanFactory,還提供了與Spring AOP集成、國際化處理、事件傳播及提供不同層次的context實現。
簡單說,BeanFactory提供了IOC容器最基本功能,而ApplicationContext則增加了