一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java中Mybatis,SpringMVC,Spring的介紹及聯系

Java中Mybatis,SpringMVC,Spring的介紹及聯系

2022-02-20 11:43木澤銳 Java教程

這篇文章主要為大家詳細介紹了Java中Mybatis,SpringMVC,Spring的介紹及聯系,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、Mybatis

1、簡介

MyBatis 是一個基于 Java 的持久層框架,是對 jdbc 的封裝,它讓數據庫底層操作變的透明。Mybatis 的操作都是圍繞一個 sqlSessionFactory 實例展開的。Mybatis 通過配置文件關聯到各實體類的 Mapper 文件,Mapper 文件中配置了每個類對數據庫所需進行的 sql 語句映射。在每次與數據庫交互時,通過 sqlSessionFactory 拿到一個sqlSession,再執行 sql 命令。在 Mybatis 中,sqlSessionFactory 可以看為一個數據庫連接池,并使用的單例模式;sqlSession 就相當于一個數據庫連接,它存活在某個具體的業務請求中。 創建映射器 映射器是 Mybatis 中最重要、最復雜的組件,它由一個接口和對應的 XML 文件(或注解組成)。

2、工作原理:

mybatis通過sqlSessionFactoryBuilder從mybatis-config.xml配置文件(如上圖第一步)中構建出sqlSessionFactory(線程安全);然后調用sqlSessionFactory的openSession()方法直接開啟一個sqlSession,在通過sqlSession實例獲得Mapper.xml對象并運行Mapper.xml映射的sql語句,完成對數據庫的CRUD和事務提交,每完成一次操作之后sqlSession都需要關閉.

3、工作流程圖:

Java中Mybatis,SpringMVC,Spring的介紹及聯系

二、SpringMVC

1、MVC工作原理:

M:Model(完成業務邏輯 Service/dao/entity/)

V:View(完成界面渲染 jsp/html)

C:Controller(控制器->類似于CPU 接受請求->調用M->返回V)

1.1、MVC工作原理圖:

 Java中Mybatis,SpringMVC,Spring的介紹及聯系

2、SpringMVC工作原理

SpringMVC是一個MVC的開源框架,SpringMVC是Spring的一個后續產品,其實就是Spring在原有基礎上,又提供了web應用的MVC模塊,可以簡單的把SpringMVC理解為是spring的一個模塊(類似AOP,IOC這樣的模塊),網絡上經常會說SpringMVC和Spring無縫集成,其實SpringMVC就是Spring的一個子模塊,所以根本不需要同spring進行整合。

2.1、SpringMVC中的組件:

前端控制器(DispatcherServlet):接收請求,響應結果,相當于電腦的CPU。

處理器映射器(HandlerMapping):根據URL去查找處理器

處理器(Handler):(需要程序員去寫代碼處理邏輯的)

處理器適配器(HandlerAdapter):會把處理器包裝成適配器,這樣就可以支持多種類型的處理器,類比筆記本的適配器(適配器模式的應用)

視圖解析器(ViewResovler):進行視圖解析,多返回的字符串,進行處理,可以解析成對應的頁面

2.2、SpringMvc工作原理圖

Java中Mybatis,SpringMVC,Spring的介紹及聯系

2.3、 SpringMvc工作流程

第一步:用戶發起請求到前端控制器(DispatcherServlet)

第二步:前端控制器請求處理器映射器(HandlerMapping)去查找處理器(Handler):通過xml配置或者注解進行查找

第三步:找到以后處理器映射器(HandlerMappping)像前端控制器返回執行鏈(HandlerExecutionChain)

第四步:前端控制器(DispatcherServlet)調用處理器適配器(HandlerAdapter)去執行處理器(Handler)

第五步:處理器適配器去執行Handler

第六步:Handler執行完給處理器適配器返回ModelAndView

第七步:處理器適配器向前端控制器返回ModelAndView

第八步:前端控制器請求視圖解析器(ViewResolver)去進行視圖解析

第九步:視圖解析器像前端控制器返回View

第十步:前端控制器對視圖進行渲染

第十一步:前端控制器向用戶響應結果

2.4、 SpringMVC重點

在于它的流程和注解,包括控制器、視圖解析器、視圖等內容;

三、Spring

1、簡介:

Spring是一種多層的J2EE應用程序框架,其核心就是提供一種新的機制管理業務對象及其依賴關系。它是一種容器框架,用于創建bean,維護bean之間的關系,它可以管理web層,持久層,業務層等,可以配置各個層的組件并且維護各個層的關系

2、Spring原理:

內部最核心的就是IOC了,動態注入,讓一個對象的創建不用new了,可以自動的生產,這其實就是利用java里的反射,反射其實就是在運行時動態的去創建、調用對象,Spring就是在運行時,跟xml Spring的配置文件來動態的創建對象,和調用對象里的方法的 。

Spring還有一個核心就是AOP這個就是面向切面編程,可以為某一類對象 進行監督和控制(也就是 在調用這類對象的具體方法的前后去調用你指定的 模塊)從而達到對一個模塊擴充的功能。這些都是通過 配置類達到的。

Spring目的:就是讓對象與對象(模塊與模塊)之間的關系沒有通過代碼來關聯,都是通過配置類說明管理的(Spring根據這些配置 內部通過反射去動態的組裝對象)

要記住:Spring是一個容器,凡是在容器里的對象才會有Spring所提供的這些服務和功能。

Spring里用的最經典的一個設計模式就是:模板方法模式。(這里我都不介紹了,是一個很常用的設計模式), Spring里的配置是很多的,很難都記住,但是Spring里的精華也無非就是以上的兩點,把以上兩點跟理解了 也就基本上掌握了Spring.

3、Spring AOP與IOC

3.1、 IoC(Inversion of control): 控制反轉

1、IoC:

概念:控制權由對象本身轉向容器;由容器根據配置文件去創建實例并創建各個實例之間的依賴關系

核心:bean工廠;在Spring中,bean工廠創建的各個實例稱作bean

3.2、AOP(Aspect-Oriented Programming): 面向方面編程

1、 代理的兩種方式:

靜態代理:

  • 針對每個具體類分別編寫代理類;
  • 針對一個接口編寫一個代理類;

動態代理:

針對一個方面編寫一個InvocationHandler,然后借用JDK反射包中的Proxy類為各種接口動態生成相應的代理類

動態代理知識補充:

不用寫代理類,虛擬機根據真實對象實現的接口產生一個類,通過類實例化一個動態代理,在實例化動態代理時將真實對象及裝備注入到動態代理中,向客戶端公開的是動態代理,當客戶端調用動態代理方法時,動態代理根據類的反射得到真實對象的Method,調用裝備的invoke方法,將動態代理、

Method、方法參數傳與裝備的invoke方法,invoke方法在喚起method方法前或后做一些處理。

?
1
2
3
4
5
1、產生動態代理的類:
 
               java.lang.refect.Proxy
 
2、裝備必須實現InvocationHandler接口實現invoke方法

3.3、spring的幾個階段:

Java中Mybatis,SpringMVC,Spring的介紹及聯系

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/qq_43521500/article/details/120699531

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 麻豆视频免费在线播放 | 日本ccc三级 | 国产在线视频一区二区三区 | 女人麻豆国产香蕉久久精品 | 九九精品影院 | 青青青久久久 | 国产成人精品男人的天堂538 | 亚洲AV久久无码精品九号软件 | 色爱导航| 97综合| 美女天天操 | 狠狠澡| 天堂激情网 | 免费理伦片在线观看全网站 | 午夜爱爱爱爱爽爽爽视频网站 | 日韩精品一区二区三区中文版 | 亚洲精品国产在线 | 男女视频在线观看 | 50度灰破解版v5.7.0 | 日韩小视频在线观看 | 亚欧精品在线观看 | 日本一区二区三区久久精品 | 日本精品一区二区三区 | 特黄特黄一级高清免费大片 | 免费看伦理片 | 无人区在线观看免费完整版免费 | 久久学生精品国产自在拍 | 国产午夜亚洲精品不卡 | 日本乱子| 成人精品区| 精品一区二区视频 | 日本hd18| 日韩一区二区不卡 | 91国内精品 | 日韩日日操 | 国产精品国产精品国产三级普 | 99久久国产综合精品麻豆 | 成人私人影院www片免费高清 | 青草福利视频 | 欧美色综合高清免费 | 国产成人福利美女观看视频 |