Introduction to Spring Framework Architecture

Source: Internet
Author: User
Tags arithmetic operators

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-coreand 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-supportsupports 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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.