spring4.1.3模块的官方说明

CoreContainer

The Core Container consists of the spring-core, spring-beans, spring-context, and springexpression (Spring Expression Language) modules.

The spring-core and spring-beans modules provide the fundamental parts of the framework, including the IoC and Dependency Injection features.The BeanFactory is a sophisticated implementation of the factory pattern.It removes the need for programmatic singletons and allows you to decouple theconfiguration and specification of dependencies from your actual program logic.

The Context (spring-context) module builds on the solid base provided by the Core and Beans modules: it is a means to access objects in aframework-style manner that is similar to a JNDI registry. The Context moduleinherits its features from the Beans module and adds support forinternationalization (using, for example, resource bundles), event propagation,resource loading, and the transparent creation of contexts by, for example, aServlet container. The Context module also supports Java EE features such asEJB, JMX, and basic remoting. The ApplicationContext interface isthe focal point of the Context module.

The spring-expression module provides a powerful Expression Language for queryingand manipulating an object graph at runtime. It is an extension of the unifiedexpression language (unified EL) as specified in the JSP 2.1 specification. Thelanguage supports setting and getting property values, property assignment,method invocation, accessing the content of arrays, collections and indexers, logicaland arithmetic operators, named variables, and retrieval of objects by namefrom Spring’s IoC container. It also supports list projection and selection aswell as common list aggregations.

AOP andInstrumentation

The spring-aop module provides an AOP Alliance-compliant aspect-orientedprogramming

implementation allowingyou to define, for example, method interceptors and pointcuts to cleanly decouplecode that implements functionality that should be separated. Using source-levelmetadata functionality, you can also incorporate behavioral information intoyour code, in a manner similar to that of .NET attributes.

The separate spring-aspects module provides integration with AspectJ.

The spring-instrument module provides class instrumentation support andclassloader

implementations to beused in certain application servers.

Messaging

Spring Framework 4includes a spring-messagingmodule with key abstractions from the SpringIntegration project such as Message, MessageChannel, MessageHandler, and others to serve as a foundation for messaging-basedapplications. The module also includes a set of annotations for mapping messagesto methods, similar to the Spring MVC annotation based programming model.

DataAccess/Integration

The DataAccess/Integration layer consists of the JDBC, ORM, OXM, JMS, andTransaction modules.

The spring-jdbc module provides a JDBC-abstraction layer that removes the need todo tedious JDBC coding and parsing of database-vendor specific error codes.

The spring-tx module supports programmaticand declarative transaction managementfor classes that implement special interfaces and for all your POJOs (PlainOld Java Objects).

The spring-orm module provides integration layers for popular object-relational mapping APIs, including JPA, JDO, and Hibernate. Using the spring-orm module you can use allof these O/Rmapping frameworks in combination with all of the other featuresSpring offers, such as the simple declarative transaction management featurementioned previously.

The spring-oxm module provides an abstraction layer that supports Object/XML mapping

implementations such asJAXB, Castor, XMLBeans, JiBX and XStream.

The spring-jms module (JavaMessaging Service) contains features forproducing and consuming messages. Since Spring Framework 4.1, it providesintegration with the spring-messaging module.

Web

The Web layerconsists of the spring-web, spring-webmvc, spring-websocket, and springwebmvc-portlet modules.

The spring-web module provides basic web-oriented integration featuressuch as multipart file upload functionality and the initialization of the IoCcontainer using Servlet listeners and a web-oriented application context. Italso contains the web-related parts of Spring’s remoting support.

The spring-webmvc module (also known as the Web-Servlet module)contains Spring’s modelview- controller (MVC) implementation for web applications.Spring’s MVC framework provides a clean separation between domain model codeand web forms and integrates with all of the other features of the SpringFramework.

The spring-webmvc-portlet module (also known as the Web-Portlet module)provides the MVC implementation to be used in a Portlet environment and mirrorsthe functionality of the spring-webmvc module.

Test

The spring-test module supports the unit testing and integration testing of Spring components with JUnit or TestNG. It providesconsistent loading of Spring  ApplicationContexts and caching of those contexts. It also provides mock objects thatyou can use to test your code in isolation.