1. 程式人生 > 程式設計 >SSM框架是什麼?或許這篇這裡可以幫助你!

SSM框架是什麼?或許這篇這裡可以幫助你!

SSM是什麼?或許這篇這裡可以幫助你!

SSM框架簡介

  • 對於許多學習JAVA或者是希望成為全棧程式設計師來說SSM框架是他們最開始遇到的框架。對於SSM其本質就是Spring + Spring MVC + MyBatis的。對於SSM地位,也算是在繼SSH之後,目前市場比較主流的Java EE企業級框架,適用於搭建各種大型的企業級應用系統。 因此對於SSM的學習是程式設計師需要掌握的東西,而今天Damon就跟大家說說,SSM到底是一個什麼東西。

解析Spring

  • 對於SPring來說,他一個開源框架,Spring是於2003年興起的一個輕量級的Java開發框架,其存在的必然,就是為瞭解決企業應用開發的複雜性而建立的。
  • 而且對於Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於伺服器端的開發。
  • 從簡單性、可測試性和鬆耦合的角度而言,任何Java應用都可以從Spring中受益。 簡單來說,Spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架。
那麼控制反轉是什麼東西呢?
  • IOC:控制反轉也叫依賴注入。利用了工廠模式將物件交給容器管理,你只需要在spring配置檔案總配置相應的bean,以及設定相關的屬性,讓spring容器來生成類的例項物件以及管理物件。
  • 在spring容器啟動的時候,spring會把你在配置檔案中配置的bean都初始化好,然後在你需要呼叫的時候,就把它已經初始化好的那些bean分配給你需要呼叫這些bean的類(假設這個類名是A),分配的方法就是呼叫A的setter方法來注入,而不需要你在A裡面new這些bean了。
面向切面(AOP)又是什麼呢?
  • 首先,需要說明的一點,AOP只是Spring的特性,它就像OOP一樣是一種程式設計思想,並不是某一種技術,AOP可以說是對OOP的補充和完善。OOP引入封裝、繼承和多型性等概念來建立一種物件層次結構,用以模擬公共行為的一個集合。
  • 當我們需要為分散的物件引入公共行為的時候,OOP則顯得無能為力。也就是說,OOP允許你定義從上到下的關係,但並不適合定義從左到右的關係。例如日誌功能。日誌程式碼往往水平地散佈在所有物件層次中,而與它所散佈到的物件的核心功能毫無關係。
  • 在OOP設計中,它導致了大量程式碼的重複,而不利於各個模組的重用。將程式中的交叉業務邏輯(比如安全,日誌,事務等),封裝成一個切面,然後注入到目標物件(具體業務邏輯)中去。
實現AOP的技術,主要分為兩大類:
  • 一是採用動態代理技術,利用擷取訊息的方式,對該訊息進行裝飾,以取代原有物件行為的執行;
  • 二是採用靜態織入的方式,引入特定的語法建立“方面”,從而使得編譯器可以在編譯期間織入有關“方面”的程式碼。
[簡單點解釋],比方說你想在你的biz層所有類中都加上一個列印‘你好,AOP’的功能這你經可以用aop思想來做,你先寫個類寫個方法,方法經實現列印‘你好,AOP’讓後你Ioc這個類 ref=“biz.*”讓每個類都注入。

Spring MVC是什麼東西

  • 其實Spring MVC屬於Spring Framework的後續產品,已經融合在Spring Web Flow裡面,它原生支援的Spring特性,讓開發變得非常簡單規範。Spring MVC 分離了控制器、模型物件、分派器以及處理程式物件的角色,這種分離讓它們更容易進行定製。

最後就是MyBati

  • 其實MyBatis本是apache的一個開源專案iBatis,後來由於種種原因遷移到了google code,並且改名為MyBatis 。MyBatis是一個基於Java的持久層框架。
  • iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)MyBatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及結果集的檢索。
  • MyBatis使用簡單的XML或註解用於配置和原始對映,將介面和Java的POJOs(Plain Old Java Objects,普通的 Java物件)對映成資料庫中的記錄。可以這麼理解,MyBatis是一個用來幫你管理資料增刪改查的框架。

總結:

作為一個新生程式猿,Damon希望能夠與大家一同進步。文章或者描述有所不足的地方,希望大家多多提出來,一同進步。

Damon會繼續發掘一些有用的諮詢,知識以及新工具,與大家一同分享,謝謝!

過去文章都上傳到github,有興趣的小夥伴可以Star下:github.com/xxxyyh/Fron…