Description: The following is a version of the official spring document, 4.3. Version 11.
I. Citation of official documents
2.2.1 Core Container
The core container consists of the following parts,,, spring-core
spring-beans
spring-context
spring-context-support
and spring-expression
(Spring expression language) modules.
spring-core
and spring-beans
modules provide the basic parts of the framework, including IOC and dependency injection features. This BeanFactory
is a complex implementation of the factory model. It eliminates the need for a programming singleton and allows you to separate the configuration and specification of dependencies from the actual program logic.
The context ( spring-context
) module is established by a core and a legume module set on a solid substrate: it is a device that accesses a frame-like method that is similar to a Jndi registry object. The context module inherits its functionality from the Beans module and adds support for internationalization (such as the use of resource bundles), event propagation, resource loading, and, for example, a servlet container transparent creation context. The context module also supports Java EE features such as EJB,JMX and basic remoting. This ApplicationContext
interface is the focus of the context module. spring-context-support
supports the integration of common third-party libraries into the spring application environment (Ehcache,guava,jcache), Mail (JavaMail), Dispatch (Commonj,quartz) and template engine (Freemarker) for caching, jasperreports,velocity).
The spring-expression
module provides a powerful expression language for querying and manipulating object graphs at run time. It is an extension of the Unified Expression language (Unified El) as defined in the JSP 2.1 specification. The language supports setting and getting property values, property assignments, method invocations, accessing arrays, the contents of collections and indexers, logical and arithmetic operators, named variables, and retrieving objects by name from spring's IOC container. It also supports list projection and selection as well as common list aggregation.
2.2.2 AOP and instrumentation
This spring-aop
module provides an aspect-oriented programming implementation that conforms to the AOP Federation standard, allowing you to define method interceptors and pointcuts to clean up the code that separates the functions that should be separated. Using the source-code level metadata feature, you can also associate behavior information with the. NET properties are similar.
Separate spring-aspects
modules provide integration with the ASPECTJ.
This spring-instrument
module provides class detection support and class loader implementations that are used in some application servers. The spring-instrument-tomcat
module contains spring's tomcat test agents.
2.2.3 Message Delivery
Spring Framework 4 includes spring-messaging
spring integration projects from key abstraction modules, for example,, Message
MessageChannel
MessageHandler
and others as a foundation for message-based applications. The module also includes a set of comments that map messages to methods, similar to the Spring MVC annotation-based programming model.
2.2.4 Data Access/integration
The data access/integration layer consists of a JDBC,ORM,OXM,JMS and a trading module.
The spring-jdbc
module provides a JDBC abstraction layer that does not require parsing of tedious JDBC encodings and database vendor-specific error codes.
The spring-tx
module supports programmatic and declarative transaction management for classes that implement special interfaces and all Pojo (plain Java objects).
The spring-orm
module provides an integration layer for the popular Object relational mapping API, including JPA, JDO, and Hibernate. Using this spring-orm
module, you can use all of these O/R mapping frameworks in conjunction with all the other features provided by spring, such as the simple declarative transaction management functionality mentioned earlier.
The spring-oxm
module provides an abstraction layer that supports object/xml mapping implementations, such as JAXB,CASTOR,XMLBEANS,JIBX and XStream.
The spring-jms
module (the Java Messaging Service) contains features for generating and consuming messages. Starting with the Spring Framework 4.1, it provides spring-messaging
integration with modules.
2.2.5 Web
The network layer is composed of,, spring-web
spring-webmvc
spring-websocket
, and spring-webmvc-portlet
modules.
The spring-web
module provides basic web-oriented integration features, such as multipart file upload capabilities, and initializes the IOC container with a servlet listener and web-oriented application context. It also contains an HTTP client and a Web-related section of spring's remote support.
The spring-webmvc
module (also known as the Web-servlet module) contains spring's Model View Controller (MVC) and rest Web services implementations for Web applications. The Spring MVC Framework provides a clear separation between domain model code and Web Forms, and integrates with all other features of the spring framework.
The spring-webmvc-portlet
module (also known as the Web-portlet module) provides the MVC implementation to be used in the portlet environment and reflects the functionality of the servlet-based spring-webmvc
module.
2.2.6 Test
This spring-test
module supports unit testing and integration testing of spring components using JUnit or testng. It provides a consistent load of spring ApplicationContext
and the caching of these contexts. It also provides mock objects that can be used to isolate test code.
Ii. Description of Spring system
In fact, the spring framework contains spring Web MVC. And the whole spring is very large, so when looking for such documents, the most correct way is to read through official documents.
For example, spring system has spring Boot, Spring cloud and so on. The entrance is: https://spring.io/docs/reference, then search for the desired results.
Reference:
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/(Official document)
Https://www.ibm.com/developerworks/cn/java/wa-spring1/index.html
Introduction to Spring Framework Architecture