天天看點

Spring架構(一)—— Spring 簡介一、Spring 簡介

文章目錄

  • 一、Spring 簡介
    • 1、Spring 概述
    • 2、Spring Framework 下載下傳
    • 3、Spring 架構組成

一、Spring 簡介

1、Spring 概述

(1)Spring 是一款開源的免費架構,是一個輕量級**控制反轉(IOC)和面向切面(AOP)**的 JAVA EE 架構,輕量級是指不依賴于容器就能運作的。Spring 架構最初的作者是Rod Jahnson,現在已經被Pivotal Software公司收購,而Pivotal Software公司的東家正是大名鼎鼎的虛拟化提供商VMWare。

(2)一般所謂的 Sping 指的僅僅是Spring旗下的spring framework這一款産品,在 Spring 被 Pivotal Software 公司接手之後,相繼研發出了多款産品,其中的Spring Boot、Spring Could已經成為了目前網際網路環境下的佼佼者。

  • Spring Boot是一個整合Spring各項功能的中間件,用于快速的開發Spring應用。
  • Spring Cloud是為了應對日益增長的業務需求,而開發出的一套完整的基于微服務的分布式解決方案。
  • Spring Framework、Spring Boot、Spring Cloud這三款架構的依賴是遞增的,也就是說Spring - Could的基礎是Spring Boot。
  • Spring Boot的基礎是Spring Framework,學習順序應該是Spring Framework>Spring Boot>Spring Cloud。

(3)Spring 架構是使用最廣泛的輕量級 JAVA EE 架構之一,它以 IOC、AOP 為主要思想,能夠協同 Struts2、Hibernate、WebWork、JSF、iBatis 等衆多的架構。

2、Spring Framework 下載下傳

(1)Spring的官網是https://spring.io,通過http://repo.spring.io/release/org/springframework/spring可以下載下傳Spring Framework(以後簡稱Spring)的開發包,如版本Spring 5.1.6,下載下傳好jar包之後解壓出的目錄結構如下:

Spring架構(一)—— Spring 簡介一、Spring 簡介
  • docs:開發文檔
  • schema:spring架構對于xml檔案的校驗采用了schema的方式,該檔案夾中是schema檔案。
  • libs:jar包,儲存了spring架構的所有jar包。
  • 注意:libs中儲存的jar包分為3類,分别是文檔jar包,源代碼jar包,和編譯之後的class檔案jar包,我們以前導入的其他架構jar包都是最後一種class檔案jar包。
Spring架構(一)—— Spring 簡介一、Spring 簡介

(2)spring中常用jar包:

  • Spring AOP:Spring的面向切面程式設計,提供AOP(面向切面程式設計)的實作
  • Spring Aspects:Spring提供的對AspectJ架構的整合
  • Spring Beans:Spring IOC的基礎實作,包含通路配置檔案、建立和管理bean等。
  • Spring Context:在基礎IOC功能上提供擴充服務。
  • Spring Context Support:Spring context的擴充支援,用于MVC方面。
  • Spring Core:Spring的核心工具包
  • Spring expression:Spring表達式語言
  • Spring Instrument:Spring對伺服器的代理接口
  • Spring Instrument Tomcat:Spring對tomcat連接配接池的內建
  • Spring JDBC:對JDBC 的簡單封裝
  • Spring JMS:為簡化jms api的使用而做的簡單封裝
  • Spring orm:整合第三方的orm實作,如hibernate,ibatis,jdo以及spring 的jpa實作
  • Spring oxm:Spring對于object/xml映射的支援,可以讓JAVA與XML之間來回切換
  • Spring test:對JUNIT等測試架構的簡單封裝
  • Spring tx:為JDBC、Hibernate、JDO、JPA等提供的一緻的聲明式和程式設計式事務管理。
  • Spring web:包含Web應用開發時,用到Spring架構時所需的核心類,包括自動載入WebApplicationContext特性的類、Struts與JSF內建類、檔案上傳的支援類、Filter類和大量工具輔助類。
  • Spring webmvc:包含SpringMVC架構相關的所有類

3、Spring 架構組成

Spring 是個輕量級的架構,但是它的功能卻很龐大,String 架構的所有組成如圖所示。

Spring架構(一)—— Spring 簡介一、Spring 簡介

圖中所示的 Spring 的7大子產品,各個子產品的功能如下:

  1. Core子產品

    核心容器提供 Spring框果的基木功能(Spring Core)。核心容器的上要元件是BeanFactory. 它是工廠模式的實作。Beanfactory 使用控制反轉(10C)模式将應用程式的配置和依賴性規範 與實際的立用程式代碼分開。

  2. AOP子產品

    通過配置管理特性,Spring AOP子產品直接将面向切面的程式設計功能內建到了Sprirg 框契中。是以,可以很容易地使Spring 框渠管理的任何對象支援AOPe Spring AOP子產品為基于Spring 的應用程式中的對象提供了事務管理服務。通過使用Spring AOF, 不用依賴JB元件,就可以将聲明性事務管理內建到應用程式中。

  3. ORM子產品

    Spring架構插入了若幹個ORM架構,進而提供了ORM 的對象關系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有這些都遵從Spring的通用事務和DA0 異常層次結構。

  4. DAO子產品

    JDBCDA0抽象層提供了有意義的異常層次結構,可用該結構來管理異營處理和不同資料車供應商抛出的錯誤消息。異常層次結構簡化了錯誤處理,并日極大地降低了需要編寫的異常代碼數量(例如打開和關閉連接配接)。Spring DAO 的面向JDBC的異常遵從通用的DAO異常層次結構。

  5. Web子產品

    Web上下文子產品建立在應用程式上下文子產品之上,為基于Web的應用程式提供了上下文。是以,Spring架構支援與JakartaStruts 的內建。web 子產品還簡化了處理多部分請求以及獎請求參數綁定到域對象的工作。

  6. Context子產品

    Spring 上下文是一個配置檔案,向Spring 架構提供上下文資訊。Spring 上下文包括企業服務,例如JNDI、EJB. 電子郵件、國際化、校驗和排程功能。

  7. Web MVC子產品

    MVC架構是一個全功能的建構Web 應用程式的MVC 實作。通過政策接口,MVC 架構變成為高度可配置的,MVC 容納了大量視圖技術,其中包括JSP, Velocity、 Tiles、iText和P0L。