SSM框架

山有木xi發表於2020-03-25

SSM框架是當前主流的Java開發框架,為了解決應用開發的複雜性問題而產生的,對於Java開發來說,掌握spring幾乎是必備的技能之一,所謂SSM則是,Spring  SpringMVC  MyBatis

什麼是spring,簡單來說,spring就是一個輕量的面向切面和控制反轉的容器框架,而MVC則是 :model(模型),controller(控制器),view(檢視)

  • 輕量

完整的spring框架可以在一個只有1MB多的JAR檔案裡釋出,並且所需的處理開銷也是微不足道的,並且spring是非侵入式的, 使應用程式程式碼對框架的依賴最小化

  • 依賴注入(DI)和控制反轉(IoC)

那麼什麼是控制反轉和依賴注入呢,其實這是不同物件的不同概念。對於呼叫者而言, 藉助於容器實現具有依賴關係的物件之間的解耦,就是控制反轉,在引入IoC容器,使得各個物件間沒有了耦合性,當我們要修改其中一個物件時,就不需要考慮其他物件,物件間的依賴性被降低。對於Spring容器而言,Spring容器負責將被依賴物件賦值給呼叫者的成員變數,這相當於為呼叫者注入了它依賴的例項,這就是依賴注入,主要透過構造方法注入,setter注入,基於註解的注入

  • AOP

AOP(面向切面程式設計),可以說是OOP(物件導向程式設計)的補充和完善,在OOP中引入了封裝,繼承,多型等概念來建立物件層次結構,用於模擬公共行為的一個集合。在傳統的業務處理程式碼中,通常都會進行事務處理、日誌記錄等操作,雖然使用OOP可以透過組合或者繼承的方式來達到程式碼的重用,但如果要實現某個功能,同樣的程式碼還是會分散到各個方法中去。這樣,如果想要關閉某個功能或者對其修改,就必須要修改所有的相關方法,而AOP的思想就是為了解決這個問題。 AOP利用一種橫向抽取機制,將分散在各個方法中的重複程式碼提取出來,封裝到一個可重用的模組中,在程式編譯或執行時,將這些程式碼應用到需要執行的地方,這種機制是OOP無法做到的

  • Bean

Spring可以用看做一個大工廠,這個工廠的作用就是生產和管理Spring容器中的Bean,在Spring中,XML配置檔案的根元素是<beans>,<beans>中包含了許多的<bean>子元素,每個<bean>子元素定義了一個Bean,並描述了Bean如何被裝配到Spring容器中。Spring中的bean本身不具備執行緒安全的特性

  • 事務

Spring中的事務管理分為兩種方式, 一種是傳統的程式設計式事務管理,一種是宣告式事務管理,大致分為以下幾種:

1)程式設計式事務管理對基於POJO的應用來說是唯一選擇,在程式碼中呼叫commit(),beginTransaction(),rollback()等事物關係相關的方法,這既是程式設計式事務管理

2)基於TransactionProxyFactortBean的宣告式事務管理

3)基於@Transactional的宣告式事務管理

4)基於Aspectj AOP配置事務

事務隔離級別是指一個事務對資料的修改與另一個並行的事物的隔離程度,當多個事物同時訪問相同的資料時,如果沒有采用必要的隔離機制,就可以會發生,髒讀,幻讀,不可重複讀等問題

  • MyBatis框架

MyBatis是當前主流的Java持久層框架之一,支援普通SQL查詢,儲存過程以及高階對映的持久層框架,消除了幾乎所有的JDBC程式碼和引數的手動設定以及對結果集的檢索,並使用簡單的XML或者註解進行配置和原始對映。也被稱為ORM框架,所謂ORM就是一種為了解決物件導向與關係型資料庫中資料型別不匹配的技術,透過描述Java物件和資料庫表之間的對映關係,自動將Java應用程式中的物件持久化到關係型資料庫的表中

簡單來說,就是一個幫你和資料庫打交道的框架,把資料庫的表翻譯成類,欄位翻譯成類的欄位,記錄翻譯成物件,可以像寫Java語言運算元據庫,類似開啟JDBC,防止SQL隱碼攻擊的步驟都由MyBatis搞定

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2682472/,如需轉載,請註明出處,否則將追究法律責任。

相關文章