Spring框架(一)—— 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包之後解壓出的目錄結構如下:

  • docs:開發文檔
  • schema:spring框架對於xml文件的校驗採用了schema的方式,該文件夾中是schema文件。
  • libs:jar包,保存了spring框架的所有jar包。
  • 注意:libs中保存的jar包分爲3類,分別是文檔jar包,源代碼jar包,和編譯之後的class文件jar包,我們以前導入的其他框架jar包都是最後一種class文件jar包。

(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 的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。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章