Spring Framework v5.0 M1發布

jopen 8年前發布 | 28K 次閱讀 AOP ORM DAO MVC JDBC Struts Spring Framework web

Spring 是一個開源框架,是為了解決企業應用程序開發復雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許您選擇使用哪一個組件,同時為 J2EE 應用程序開發提供集成的框架。Spring 框架是一個分層架構,由 7 個定義良好的模塊組成。Spring 模塊構建在核心容器之上,核心容器定義了創建、配置和管理 bean 的方式組成,Spring 框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯合實現。

Spring 框架的 7 個模塊

 

每個模塊的功能如下:

  • 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要組件是 BeanFactory,它是工廠模式的實現。BeanFactory 使用控制反轉 (IOC) 模式將應用程序的配置和依賴性規范與實際的應用程序代碼分開。
  • Spring 上下文:Spring 上下文是一個配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企業服務,例如 JNDI、EJB、電子郵件、國際化、校驗和調度功能。
  • Spring AOP:通過配置管理特性,Spring AOP 模塊直接將面向方面的編程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何對象支持 AOP。Spring AOP 模塊為基于 Spring 的應用程序中的對象提供了事務管理服務。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務管理集成到應用程序中。
  • Spring DAO:JDBC DAO 抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同數據庫供應商拋出的錯誤消息。異常層次結構簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數量(例如打開和關閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結構。
  • Spring ORM:Spring 框架插入了若干個 ORM 框架,從而提供了 ORM 的對象關系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有這些都遵從 Spring 的通用事務和 DAO 異常層次結構。
  • Spring Web 模塊:Web 上下文模塊建立在應用程序上下文模塊之上,為基于 Web 的應用程序提供了上下文。所以,Spring 框架支持與 Jakarta Struts 的集成。Web 模塊還簡化了處理多部分請求以及將請求參數綁定到域對象的工作。
  • Spring MVC 框架:MVC 框架是一個全功能的構建 Web 應用程序的 MVC 實現。通過策略接口,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術,其中包括 JSP、Velocity、Tiles、iText 和 POI。

更新日志

  • Task SPR-14431 Introduce log4j 2 for Spring's test suite
  • Task SPR-13793 Upgrade to JMS 2.0+
  • Task SPR-11569 Switch source encoding to UTF-8 and enforce it in the build
  • Task SPR-14449 Move "What's New" reference manual chapter to the wiki
  • Task SPR-14122 Initial compatibility with Undertow 2.0
  • Task SPR-14497 Add documentation on web reactive support
  • Task SPR-13481 Upgrade to JPA 2.1+ and Bean Validation 1.1+
  • Task SPR-13344 Compatibility with merged JDK 9 mainline
  • Task SPR-13826 Raise JDBC driver feature baseline to JDBC 4.0+
  • Task SPR-13794 Require EhCache 2.10+ / 3.0 GA
  • Task SPR-14344 Deprecate OkHttp 2.x support
  • Task SPR-14362 Upgrade build to Gradle 2.14.1
  • Task SPR-13499 Streamline XML namespace support towards unversioned schemas
  • Task SPR-13495 Require Undertow 1.3.5+, Tyrus 1.11+, Jetty 9.3+, Tomcat 8.5+
  • Task SPR-13188 Upgrade framework codebase to JDK 8+
  • Task SPR-10423 Upgrade JiBX (and BCEL) towards support of 1.8 bytecode level
  • Sub-task SPR-14158 Reactive encoding and decoding of JSON with Jackson
  • Sub-task SPR-14157 Reactive encoding and decoding of XML
  • Pruning SPR-14129 Drop Portlet MVC support
  • Pruning SPR-14130 Drop JDO support
  • Pruning SPR-13797 Drop Guava caching - superseded by Caffeine
  • Pruning SPR-13294 Drop JasperReports support
  • Pruning SPR-14429 Drop deprecated dependencies on Log4j, JRuby, JExcel, Burlap, Commons Pool/DBCP
  • Pruning SPR-13515 Remove AbstractJpaTests and revise spring-orm test suite accordingly
  • Pruning SPR-14426 Drop native OpenJPA support
  • Pruning SPR-13229 Remove Tiles 2 support
  • Pruning SPR-13796 Remove XMLBeans support
  • Pruning SPR-13827 Remove native support for Hibernate 3.6 and 4.x
  • Pruning SPR-13795 Remove Velocity support
  • Pruning SPR-13189 Drop Servlet 2.5 runtime compatibility
  • New Feature SPR-14153 Reactive server web support
  • New Feature SPR-14161 Reactive web module
  • New Feature SPR-14154 Reactive Web client
  • New Feature SPR-14159 Composition adapters for Reactive Streams
  • New Feature SPR-13575 Introduce support for JUnit 5 in the TestContext framework
  • New Feature SPR-14160 HTTP cookie abstraction
  • New Feature SPR-14156 Reactive serialization & deserialization
  • New Feature SPR-14155 ByteBuffer abstraction
  • New Feature SPR-4365 Introduce before/after test execution callbacks in the TestContext framework
  • New Feature SPR-14432 Core Spring interfaces declared with Java 8 default methods and @FunctionalInterface markers
  • New Feature SPR-14152 Reactive client and server HTTP adapters
  • New Feature SPR-13589 ProtobufHttpMessageConverter support for protobuf 3.0.0-beta4
  • Improvement SPR-14486 Avoid deprecated Class.newInstance in favor of constructor-based instantiation
  • Improvement SPR-14485 Drop mock.staticmock package from spring-aspects
  • Improvement SPR-14484 Resource.isFile() and JAF MediaTypeFactory
  • Improvement SPR-14055 Introduce support for creating a MethodParameter from a Java 8 Parameter
  • Improvement SPR-14450 Introduce Supplier<String> message support in org.springframework.util.Assert
  • Improvement SPR-14043 XMLUnit 2.x support
  • Improvement SPR-14492 Revise encoding steps towards use of JDK Charset and StandardCharsets
  • Improvement SPR-14459 Support suppressed exceptions in the TestContext framework 

下載

 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!