Spring模塊

Spring Framework

一、學習Spring能帶給我什麼?

  • 使Java方法在數據庫transaction(事務)中執行。
  • 使Java成爲Http端點?
  • 使Java成爲消息處理程序,而不用使用JMS()
  • 使Java成爲management(管理)操作。

個人理解:

  • Spring可以使Java在數據庫事務中執行,滿足事務的原子性、一致性、隔離性和持久性。
  • 可以使Java通過訪問HTTP的方式,來對Java中的方法進行訪問。
  • 通過使用Spring,可以使Java用來處理消息。
  • 可以使Java對應用程序具有擴展性,具有管理功能。

二、Spirng Framework Modules(Spring框架的模塊)

由Core Container(核心容器)、Data Access/Integration(數據讀取和數據整合)、Web、AOP(面向切面編程)、Instrumentation(工具)、Messaging(消息傳遞)和Test共7部分組成,如下圖所示:

在這裏插入圖片描述

2.1 Core Container(核心容器)

Core Container是由spring-core(spring的核心)、spring-beans(spring裏面的類||元素)、spring-context(spring的上下文)、spring-context-support(spring上下文的支持)和spring-expression(spring的表達式)模塊組成。

spring-core和spring-beans模塊,包括IoC和依賴注入。BeanFactory是工廠模式的複雜implementation(容器),它消除了對程序化單例的需求,並允許您從實際程序邏輯中分離結構和依賴項規範(這段話個人理解:spring-beans將單一的程序結構,分成多個,您可以使用spring-beans將結構和依賴分離)。

☺Context(spring-context)構建在覈心(spring-core)和Beans(spring-beans)之上:Context是以framework-style(框架樣式)的方式來訪問object的方法,類似於JNDI註冊表(標準的Java命名和目錄接口),Context模塊是從Beans模塊繼承其特徵並添加對國際化的使用,例如資源包、event(事件)傳播,資源加載以及透明的上下文創建的支持,例如Servlet容器。還支持JavaEE的特徵,例如:EJB、JMX和基本遠程處理,ApplicationContext接口是Context模塊的焦點。

spring-context-support支持common-third-party libraries(公共的第三方庫)集成到Spring Context Application(spring應用上下文),用於緩存(EhChache)、郵件(JavaMail)、調度(CommonJ、Quartz)、模板引擎(FreeMarker)。

☺spring-expression模塊提供的是一個強大的表達語言(EL表達式),用於在運行時查詢和操作object(對象)圖,該語言支持設置和獲取property的值,property賦值、方法調用、訪問數組、集合和索引器的內容。

2.2 AOP和Instrumentation(工具)

spring-aop模塊面向切面編程,允許在example(例子)上定義方法攔截器和切入點,以乾淨解耦的方式實現應該分離的code(代碼)。

spring-aspects模塊提供與AspectJ的 integration(整合)。

spring-instrument模塊提供class檢測支持和類加載器instrumentations(實現)在某些application服務器中使用。

spring-instrument-tomcat模塊包含Spring對Tomcat的檢測代理。

2.3 Messaging消息

在Spring Framework中,包括一個spring-messaging模塊,其中包括來自spring整合項目的key抽象,例如Message(消息)、MessageChannel(消息會話)、MessageHeadler(消息處理程序)等,用來作爲messaging-based-applications(基於消息的應用程序)的基礎,該模塊還包括annotations(註解),用於將消息映射到方法上。

2.4 Data Access/ Data Integration(數據存取和數據整合)

Data Access/ Data Integration層是由JDBC、ORM、OXM、JMS和Transient模塊組成。

spirng-jdbc模塊提供了JDBC-abstraction(抽象)層,不需要進行繁瑣的JDBC編碼和解析database-vendor(特定錯誤代碼)

spring-tx模塊支持程序性和聲明性transaction(事務)management(管理)用於實現特殊接口的classes和所有的POJO。

spring-orm模塊包括JPA、JDO和Hibernate。

spring-oxm模塊包括JAXB、Castor、XMLBeans、JiBX和XStream

spring-jms模塊(Java消息傳遞服務)包含用於producing和consuming消息的特徵。

2.5 Web

Web層是由:spring-web、spring-webmvc、spring-websocket和spring-webmvc-portlet模塊組成。

spring-web模塊提供基本的web-oriented integration features(面向web的集成特徵),例如:multipart文件上傳下載功能和使用 Servlet listeners (服務監聽器)和 web-oriented application context (面向web應用程序上下文)初始化 IoC 容器。還包括HTTP Client和Spring遠程支持的web-related(網絡相關)部分。

spring-webmvc模塊包含了Spring的model、view、controller(MVC)。

spring-webmvc-portlet模塊提供了在Portlet環境中使用的MVC的implementation(實施),並且 mirrors Servlet-based spring-webmvc (基於springmvc的鏡像)模塊的功能。

2.6 Test

spring-test 模塊使用 JUnit 或 TestNG 支持單元測試和整合測試 Spring 組件。它提供了loading的
Spring ApplicationContext 和高速緩存這些上下文。它還提供mock objects,您可以使用它來隔離
測試您的 code

發佈了92 篇原創文章 · 獲贊 285 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章