(慢慢修改更新,后續結合文章SSM整合來食用,效果更加)
一、作用
Spring:實現業務對象管理;
- IOC
- DI
- AOP
SpringMVC:負責請求轉發和視圖管理;
- 控制層的使用(掃描)
- json
- 放行靜態資源
- 攔截器
- 前端控制器
- 多視圖控制
Mybatis:數據對象持久化引擎,處理與數據庫增刪改查相關的操作;
- 全局配置文件
- Mybatis配置文件
- 動態sql
- 一對多,多對一等關系
二、聊聊Spring
Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架;
IOC:控制反轉,原本創建對象是程序主動new一個對象,如今通過IOC,對象的依賴創建交給容器去創建,主動權交給容器;
DI:依賴注入,往bean中注入依賴關系。應用程序需要IOC容器提供對象需要的外部資源,例如注入某個資源、常量數據、對象等;
AOP:面向切面編程,在不改變代碼原本業務邏輯的條件上,進行動態的增加日志、異常處理等操作;
通俗的理解bean的加載過程:請求一個bean,工廠通過封裝好的操作區讀取xml文件,尋找到對應的類,通過反射拿到該類的細節;
三、聊聊SpringMVC
MVC:
模型 —— 視圖 —— 控制器;
業務邏輯和業務數據 -- 用戶界面 -- 處理用戶交互;
SpringMVC流程:
1.客戶端發送請求到DispacherServlet(分發器)
2.由DispacherServlet控制器查詢HanderMapping,找到處理請求的Controller
3.Controller調用業務邏輯處理后,返回ModelAndView
4.DispacherSerclet查詢視圖解析器,找到ModelAndView指定的視圖
5.視圖負責將結果顯示到客戶端
四、Mybatis
mybatis是對jdbc的封裝,它讓數據庫底層操作變的透明。mybatis的操作都是圍繞一個sqlSessionFactory實例展開的。
mybatis通過配置文件關聯到各實體類的Mapper文件,Mapper文件中配置了每個類對數據庫所需進行的sql語句映射。
在每次與數據庫交互時,通過sqlSessionFactory拿到一個sqlSession,再執行sql命令。