純代碼配置 SSM 框架 (一)

純代碼配置SSM框架 (一)

SSM框架簡介

SSM框架是由三套框架整合起來的。分別是 SpringSpring MVCMybatis

Spring框架

Spring是一個控制反轉(IoC)和麪向切面(AOP)的容器框架,適用於任何Java應用。

控制反轉 IoC

控制反轉(IoC)是指對象的創建權交給Spring容器,其作用是實現了程序的解耦合,對象創建的控制權不是使用者,而是框架或者容器。例如:想要調用類裏面一個非靜態方法,首先要通過 new 實例化一個對象,然後通過這個實例調用相關的方法 method。但是在 Spring 中,Spring 創建對象的過程,不是在代碼裏面實現的,而是交給 Spring 來進行配置實現的,其基本原理就是 XML配置文件+SAX解析+工廠設計模式;

面向切面 AOP

OOP技術,允許開發者定義縱向的關係,但並不適合定義橫向的關係。AOP技術,將那些影響了多個類的公共行爲封裝到一個可複用模塊,這個就是所謂的切面(Aspect)切面是那些與業務無關,卻爲業務模塊所共同調用的邏輯或責任封裝起來,便於減少系統的重複代碼,降低模塊之間的耦合度,並有利於未來的可操作性和可維護性。最常見的使用到AOP技術就是日誌功能。

AOP核心概念
  1. 連接點(Joinpoint):被攔截到的點可能是字段構造器、或者方法Spring只支持方法類型的連接點。
  2. 橫切關注點:對哪些方法進行攔截,攔截後怎麼處理,稱之爲橫切關注點。
  3. 切面(aspect):類是對物體特徵的抽象,切面就是對橫切關注點的抽象。
  4. 切入點(pointcut):對連接點進行攔截的定義。
  5. 通知(advice):指攔截到連接點之後要執行的代碼。通知分爲前置後置異常最終環繞通知五類。
  6. 目標對象:代理的目標對象。
  7. 織入(weave):將切面應用到目標對象並導致代理對象創建的過程。
  8. 引入(introduction):在不修改代碼的前提下,引入可以在運行期爲類動態地添加一些方法或字段。

SpringAOP代理由SpringIoC容器負責生成、管理,其依賴關係也由IoC容器負責管理。因此AOP代理可以直接使用容器中的其它bean實例作爲目標,這種關係可由IoC容器的依賴注入提供。

代理規則

Spring創建代理的規則:

  1. 默認使用Java動態代理來創建AOP代理,可以爲任何接口實例創建代理
  2. 當需要代理的類不是代理接口的時候,Spring會切換爲使用CGLIB代理,也可強制使用CGLIB代理。

Spring MVC 框架

Spring MVCSpring提供的一個強大而靈活的web框架。藉助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡單。這些控制器一般不直接處理請求,而是將其委託給Spring上下文中的其他bean,通過Spring的依賴注入功能,這些bean被注入到控制器中。

Spring MVC主要由DispatcherServlet處理器映射處理器(控制器)視圖解析器視圖組成。他的兩個核心是兩個核心:

1. 處理器映射:選擇使用哪個控制器來處理請求。
2. 視圖解析器:選擇結果應該如何渲染。

Spring MVC 接口

Spring MVC 主要有四個接口,DispatcherServlet接口、HandlerMapping接口、Controller接口、ViewResolver接口。

  1. DispatcherServlet接口:所有的請求都有經過它來統一分發。他將請求分發給Spring Controller之前,需要藉助於Spring提供的HandlerMapping定位到具體的Controller
  2. HandlerMapping接口:完成客戶請求到Controller映射。
  3. Controller接口:用於處理用戶請求。Controller處理完用戶請求,返回ModelAndView對象給DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和視圖(View)。
  4. ViewResolver接口:Spring提供的視圖解析器(ViewResolver)在Web應用中查找View對象,從而將相應結果渲染給客戶。
DispatcherServlet

DispatcherServletWeb應用的控制器,是Spring MVC的核心。它負責接收HTTP請求組織協調Spring MVC的各個組成部分。

  1. 截獲符合特定格式的URL請求。
  2. 初始化DispatcherServlet上下文對應WebApplicationContext,並將其與業務層、持久化層的WebApplicationContext建立關聯。
  3. 初始化Spring MVC的各個組成組件,並裝配到DispatcherServlet中。

MyBatis 框架

MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架(ORM框架)。MyBatis儘可能消除JDBC代碼和參數的手工設置以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或註解用於配置和原始映射,將接口和JavaPOJO(Plain Old Java Objects,普通的Java對象)映射成數據庫中的記錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章