Introduction to Spring Modules

Source: Internet
Author: User

GroupId Artifactid Description
Org.springframework Spring-beans Beans support, including Groovy
Org.springframework Spring-aop Agent-based AOP support
Org.springframework Spring-aspects ASPECTJ-based Facets
Org.springframework Spring-context Application context runtime, including scheduling and remote abstraction
Org.springframework Spring-context-support Supports the integration of common third-party class libraries into the Spring application context
Org.springframework Spring-core Core modules that other modules rely on
Org.springframework Spring-expression Spring expression Language, Spel
Org.springframework Spring-instrument JVM-guided Instrumentation (monitor) proxy
Org.springframework Spring-instrument-tomcat Tomcat's Instrumentation (monitor) agent
Org.springframework Spring-jdbc Support includes data source settings and JDBC access support
Org.springframework Spring-jms Supports helper classes that include sending/receiving JMS messages
Org.springframework Spring-messaging Support for message schemas and protocols
Org.springframework Spring-orm Object/Relationship mappings, including support for JPA and Hibernate
Org.springframework Spring-oxm Object/xml Mapping (Object/xml MAPPING,OXM)
Org.springframework Spring-test Unit test and integration test support components
Org.springframework Spring-tx Transactional infrastructure components, including support for DAO and integration of JCA
Org.springframework Spring-web Web support packages, including client and web remote calls
Org.springframework Spring-webmvc The MVC implementation of REST Web services and Web applications
Org.springframework Spring-webmvc-portlet MVC implementations for the Portlet environment
Org.springframework Spring-websocket WebSocket and SOCKJS implementations, including support for STOMP

1. Core Module
    • Spring-core: The most basic implementation of dependency injection IOC and DI

    • Spring-beans:bean Factory and Bean Assembly

    • Spring-context:spring context is the IOC container

    • Spring-context-support

    • Spring-expression:spring Expression Language

Detailed description

(1) Spring-core

This jar file contains the basic core tool classes of the spring framework, and the other components of spring are used in the class of the package, the basic core of other components, and of course you can use these tools in your own application.

(2) Spring-beans

This jar file is used by all applications and contains all classes that access the configuration file, create and manage beans, and perform inversion of control/dependency injection (IOC/DI) operations. If the application requires only basic Ioc/di support, the introduction of Spring-core.jar and Spring-beans.jar files is possible.

(3) Spring-context

The spring core provides a number of extensions, which makes the underlying functionality provided by core and Beans enhanced: This means that spring engineering can access objects in a framework mode. The Context module inherits the features of the beans module and adds to internationalization (such as resource binding), event propagation, resource loading, and context transparency (such as Servlet container). Java EE features such as EJB, JMX, and basic remote access are also supported. The key to the Context module is the ApplicationContext interface. Spring-context-support provides support for the integration of third-party libraries into spring-context, such as cache (EhCache, guava, Jcache), Mail (JavaMail), Dispatch (Commonj, Quartz) , template engine (Freemarker, JasperReports, Velocity) and so on.

(4) Spring-expression

Provides a powerful expression language for querying and manipulating object graphs at run time. It is an extension of the unified expression language defined in the JSP2.1 specification, supports set and get property values, property assignments, method invocations, access to array collections and indexed content, logical arithmetic operations, named variables, retrieving objects from the spring IOC container by name, and supports the projection, selection, and aggregation of lists.

2. Data access/integration-access and integration

The data access and integration layer contains JDBC, ORM, OXM, JMS, and transaction modules.

Detailed description

(1) Spring-jdbc

Provides a JDBC abstraction layer that eliminates lengthy JDBC coding and parsing of database vendor-specific error codes.

(2) Spring-tx

Supports both programmatic and declarative transactions, which can be used for classes that implement a particular interface and for all POJO objects. Programmatic transactions need to write their own transaction management methods such as BeginTransaction (), commit (), rollback (), and declarative transactions are handled automatically by spring through annotations or configurations, with finer granularity in programmatic transactions.

(3) Spring-orm

Provides integration of popular object-relational mapping APIs, including JPA, JDO, and Hibernate. This module allows these ORM frameworks to be integrated with other functions of spring, such as the transaction management mentioned earlier.

(4) SPRING-OXM

The module provides support for OXM implementations such as JAXB, Castor, XML Beans, JiBX, XStream, and so on.

(5) SPRING-JMS

The module contains the functions of production (produce) and consumption (consume) messages. Starting with Spring 4.1, the Spring-messaging module is integrated

3. Web

The WEB layer includes modules such as Spring-web, Spring-webmvc, Spring-websocket, Spring-webmvc-portlet, and so on.

Detailed description

(1) Spring-web

Provides basic web-oriented functionality and web-oriented application contexts, such as multipart file upload capabilities, initializing the IoC container with a Servlet listener, and more. It also includes the web-related parts of the HTTP client and the Spring remote call

(2) Spring-webmvc

Provides the implementation of Model View Control (MVC) and REST Web services for Web applications. Spring's MVC framework allows the domain model code and Web Forms to be completely detached and integrated with all the other features of the spring framework

(3) Spring-webmvc-portlet

(i.e. the Web-portlet module) provides an MVC implementation for the Portlet environment and reflects the functionality of the PRING-WEBMVC module

4. AOP

(1) SPRING-AOP

Provides an implementation of aspect-oriented programming (AOP) that can define such things as method interceptors and pointcuts, so that the code that implements the functionality is completely decoupled. Use the source-level meta data.

(2) Spring-aspects

Provides an integration of the AspectJ

5, Instrumentation

(1) spring-instrument

The module provides support for instrumentation classes and implementations of class loaders for specific application servers.

(2) Spring-instrument-tomcat

The module contains the spring detection agent for TOMCAT.

6. Messaging-Message processing

Spring-messaging Module

The integration begins with spring 4 and is extracted from key abstractions in some of the spring integration projects. These projects include messages, Messagechannel, MessageHandler, and other projects that serve message processing. This module also contains a series of annotations for mapping messages to methods

7. Test

Spring-test Module

Support Unit testing and integration testing with JUnit and TestNG components. It provides consistent loading and caching of the Spring context, as well as mock objects for individual test code (mock object)

Introduction to Spring Modules

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.