天天看點

Spring_概述_hehe.employment.over.33.133.1 Spring_概述

文章目錄

  • 33.1 Spring_概述
    • 33.1.1 Spring 是什麼
    • 33.1.2 Spring 的發展曆程
    • 33.1.3 spring 的優勢
    • 33.1.4 spring 的體系結構

33.1 Spring_概述

33.1.1 Spring 是什麼

  • Spring 是分層的 Java SE/EE 應用 full-stack 輕量級開源架構,以 IoC(Inverse Of Control: 反轉控制)和 AOP(Aspect Oriented Programming:面向切面程式設計)為核心,提供了展現層Spring MVC 和持久層 Spring JDBC 以及業務層事務管理等衆多的企業級應用技術,還能整合開源世界衆多著名的第三方架構和類庫,逐漸成為使用最多的 Java EE 企業應用開源架構。

33.1.2 Spring 的發展曆程

  • 1997 年 IBM 提出了 EJB 的思想
  • 1998 年,SUN 制定開發标準規範 EJB1.0
  • 1999 年,EJB1.1 釋出
  • 2001 年,EJB2.0 釋出
  • 2003 年,EJB2.1 釋出
  • 2006 年,EJB3.0 釋出
  • Rod Johnson(spring 之父)
    • Expert One-to-One J2EE Design and Development(2002)
      • 闡述了 J2EE 使用 EJB 開發設計的優點及解決方案
    • Expert One-to-One J2EE Development without EJB(2004)
      • 闡述了 J2EE 開發不使用 EJB 的解決方式(Spring 雛形)
  • 2017 年 9 月份釋出了 spring 的最新版本 spring 5.0 通用版(GA)

33.1.3 spring 的優勢

  • 友善解耦,簡化開發
    • 通過 Spring 提供的 IoC 容器,可以将對象間的依賴關系交由 Spring 進行控制,避免寫死所造成的過度程式耦合。使用者也不必再為單例模式類、屬性檔案解析等這些很底層的需求編寫代碼,可 以更專注于上層的應用。
  • AOP 程式設計的支援
    • 通過 Spring 的 AOP 功能,友善進行面向切面的程式設計,許多不容易用傳統 OOP 實作的功能可以通過AOP 輕松應付。
  • 聲明式事務的支援
    • 可以将我們從單調煩悶的事務管理代碼中解脫出來,通過聲明式方式靈活的進行事務的管理, 提高開發效率和品質。
  • 友善程式的測試
    • 可以用非容器依賴的程式設計方式進行幾乎所有的測試工作,測試不再是昂貴的操作,而是随手可 做的事情。
  • 友善內建各種優秀架構
    • Spring 可以降低各種架構的使用難度,提供了對各種優秀架構(Struts、Hibernate、Hessian、Quartz 等)的直接支援。
  • 降低 JavaEE API 的使用難度
    • Spring 對 JavaEE API(如 JDBC、JavaMail、遠端調用等)進行了薄薄的封裝層,使這些 API 的

      使用難度大為降低。

  • Java 源碼是經典學習範例
    • Spring 的源代碼設計精妙、結構清晰、匠心獨用,處處展現着大師對 Java 設計模式靈活運用以 及對 Java 技術的高深造詣。它的源代碼無意是 Java 技術的最佳實踐的範例。

33.1.4 spring 的體系結構

Spring_概述_hehe.employment.over.33.133.1 Spring_概述