06 | Spring模块化设计:Spring功能特性如何在不同模块中组织?

Spring将模块划分成更小粒度的jar包,按jar包的方式按需引用。
https://github.com/spring-projects/spring-framework/tree/4.0.x

spring-jdbc 含对Spring 对JDBC 数据访问进行封装的所有类。
spring-jms JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。
spring-oxm 即Object XML Mapper,它的作用是在Java对象和XML文档之间来回转换
spring-orm spring中支持ORM的框架有hibernate、mybatis、JPA等
spring-tx 为JDBC、Hibernate、JDO、JPA、Beans等提供的一致的声明式和编程式事务管理支持
spring-web 提供了核心 HTTP 集成,包括一些便捷的 servlet 过滤器。
jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web ApplicationContext 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类
spring-webflux
spring-webmvc 这个jar 文件包含Spring MVC 框架相关的所有类。包括框架的Servlets,Web MVC框架,控制器和视图支持。
是 Spring MVC 的一个实现。spriing-webmvc 依赖于 spring-web,这样包含它就会间接地添加 spring-web。不必显示添加 spring-web
spring-websocket
spring-aop 包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持
spring-aspects 提供对AspectJ的支持
spring-messaging 集成messaging api和消息协议提供支持。
spring-instrument
spring-expression spring表达式语言
spring-context 这个jar 文件为Spring 核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类。
外部依赖spring-beans,spring-expression和spring-aop
spring-bean 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。
spring-core Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心。
spring-test

AOP现有两个主要的流行框架,即Spring AOP和Spring+AspectJ

第一章:Spring Framework总览 (01-12讲) - 图1Spring4
**