91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是ssm框架原理及流程

發布時間:2020-07-23 09:54:01 來源:億速云 閱讀:751 作者:Leah 欄目:互聯網科技

今天就跟大家聊聊有關什么是ssm框架原理及流程,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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將結果顯示在客戶端。
流程大致如下圖:

什么是ssm框架原理及流程

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則增加了更多支持企業級功能支持。ApplicationContext完全繼承BeanFactory,因而BeanFactory所具有的語義也適用于ApplicationContext。
Spring運行流程

加載配置文件,ApplicationContext接口。配置文件中的bean的信息被加載在HashMap中,一個bean通常包括,id,class,property等,bean的id對應HashMap中的key,HashMap中的value就是bean。
調用getBean方法,getBean是用來獲取applicationContext.xml文件里bean的,參數是bean的id。一般情況都會強制轉換成對應的業務層(接口)。
調用業務層(接口實現)的方法。
bean中的內容是怎么注入進去的?簡單來講,就是在實例化一個bean時,實際上就實例化了類,它通過反射調用類中set方法將事先保存在HashMap中的類屬性注入到類中。這樣就回到了我們Java最原始的地方,對象.屬性,對象.方法。
Mybatis
Mybatis是對jdbc的封裝,它讓數據庫底層操作變的透明。Mybatis的操作都是圍繞一個sqlSessionFactory實例展開的。mybatis通過配置文件關聯到各實體類的Mapper文件,Mapper文件中配置了每個類對數據庫所需進行的sql語句映射。在每次與數據庫交互時,通過sqlSessionFactory拿到一個sqlSession,再執行sql命令。
Mybatis通過MapperProxy動態代理dao,也就是說,當執行自己寫的dao里面的方法的時候,其實是對應的MapperProxy在代理。
Mybatis運行原理

加載配置文件
將SQL的配置信息加載成為一個個MappedStatement對象,包括了參數映射配置,執行的SQL語句,結果映射配置,存儲在內存中。
SQL解析
當API接口層接收到調用請求時,會接收到傳入SQL的ID和傳入對象(可以是Map/JavaBean或者基本數據類型),Mybatis會根據SQL的ID找到對應的MappedStatement,然后根據傳入的參數對象MappedStatement進行解析,解析后可以得到最終要執行的SQL語句和參數。
SQL執行
將最終得到的SQL和參數拿到數據庫執行,得到操作數據庫的結果。
結果映射
將操作數據庫的結果按照映射的配置進行轉換,可以轉換成HashMap/JavaBean或者基本數據類型,并將最終的結果返回。

看完上述內容,你們對什么是ssm框架原理及流程有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙河市| 中宁县| 鸡东县| 定结县| 河津市| 重庆市| 昭觉县| 信阳市| 昭平县| 辽宁省| 高陵县| 和林格尔县| 江永县| 海门市| 儋州市| 鄂尔多斯市| 荣昌县| 达日县| 定兴县| 松阳县| 汝州市| 横峰县| 高州市| 札达县| 吉木萨尔县| 郯城县| 海宁市| 龙泉市| 沭阳县| 绥中县| 丰镇市| 兰州市| 青龙| 沙洋县| 张家港市| 米泉市| 广宗县| 江油市| 合肥市| 宜宾县| 五寨县|