Anatomy of the core modules of the Spring framework

The Spring framework is a lightweight development framework that can be integrated with any kind of framework. It can integrate the web (Controller) layer with Spring MVC and the persistence layer with MyBatis.

Insert picture description here

For those who are just starting to learn this framework, they often see this picture. This picture is the module diagram integrated by the spring framework and the content of the whole spring. Combining this picture with the experience of the complete framework I have learned, first of all, Spring is a container framework. The most important module is Core Container (Spring's core container) that implements IOC and dependency injection, and then AOP (Aspect Oriented Programming) ), ORM (Object Relational Mapping) and Transactions in the database, and finally Servlet and web content in the web. In the later stage, the database (persistence layer) will be integrated with the MyBatis framework, and the web (control layer) will be integrated with Spring MVC to form the SSM framework. However, due to the complex configuration steps, Spring boot is used in the later stage, which perfectly integrates the content of these frameworks.

1. Core Container-The core container
spring-core and spring-beans modules provide the most basic parts of the entire framework, including IOC (Inversion of Control) and D (Dependency Injection).
You can refer Spring's IOC specific description. 1 , Spring's IOC specific description 2
Spring context-based core modules and provide on beans: He framed provide a way to access the object.
SpEL: Provides a powerful expression language for manipulating objects at runtime.
Core, beans, and context form the skeleton of Spring

2. AOP-aspect-oriented programming
spring-aop: AOP support for agents.
spring-aspects: Integrated Aspects' AOP support.
You can refer to Spring's AOP specific introduction1 , Spring's AOP specific introduction2

3. WEB (MVC)
spring-web: Provides basic web functions.
spring-webmvc: Provides the functions of springmvc.
spring-websocket: Provides web socket support.
spring-webmvc-portlet: Provides support for the portlet environment.

Four, Data Access/Integration-data access/integration
spring-jdbc: Provides the encapsulation function of jdbc link.
spring-tx: Provide support for things.
You can refer to Spring's transaction (Transaction)
spring-orm: support through object-relational mapping.
You can refer to Spring's ORM (Object Relational Mapping)
spring-omx: Provides object-xml mapping support.
spring-jms: Provides support for message queues.

5. Test-test
spring-test: provide support for testing functions.

Guess you like

Origin blog.csdn.net/Wangdiankun/article/details/105894065