正文
以spring3.X为例
1. spring-core.jar:包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心;
2. spring-aop.jar:面向切面编程,提供AOP(面向切面编程)实现;
3. spring-aspects.jar:spring整合了aspectjrt.jar,也可以使用aspectjrt.jar来代替;
4. spring-beans.jar:springIoC(依赖注入)的基础实现,所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行(IoC/DI)操作相关的所有类;
5. spring-context.jar:提供在基础 IoC 功能上的扩展服务,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、 缓存以及各种视图层框架的封装等;
6. spring-context-support.jar:spring-context的扩展支持,包含支持缓存ehcache、JCA、JMX、邮件服务、任务计划Scheduling(Timer、Quartz)方面的类;
7. spring-asm.jar:ASM是小巧轻便的 Java 字节码操控框架 ,它能方便地生成和改造 Java 代码。 Hibernate和 Spring在底层都用到了 ASM(CgLib底层用的 asm);
8. spring-expression.jar:spring表达式语言;
9. spring-instrument.jar:spring3.1对服务器的代理接口;
10. spring-instrument-tomcat.jar:spring3.1对 Tomcat 的连接池的集成;
11. spring-jdbc.jar:包含对Spring对JDBC数据访问进行封装的所有类;
12. spring-jms.jar:提供了对JMS1.0.2/1.1的支持类;
13. spring-orm.jar:对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,(Hibernate已经独立成包)这个jar文件里大部分的类都要依赖spring-dao.jar
14. spring-oxm.jar:spring对Object/XMI的映射的支持,可以让JAVA与XML之间来回切换;
15. spring-struts.jar:整合Struts的支持;
16. spring-test.jar:spring对Junit等测试框架的简单封装;
17. spring-tx.jar:提供对事务的支持;
18. spring-web.jar:Web开发时用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类;
19. Spring-webmvc.jar:如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类;
20. spring-webmvc-portlet.jar:springMVC的增强,支持portlet标准(JSR168/JSR286);
上图将spring分为5个部分:core, aop, data access, web, test。图中每个圆角矩形都对应一个jar。所有这些jar的“groupId”都是“org.springframework”,每个jar有一个不同的“artifactId”,另外,“instrumentation”有两个jar,还有一个“spring-context-support”图中没有列出,所以spring4的jar包一共是20个。
下面介绍这5个部分的jar以及依赖关系:
(1)Core Container:核心容器,下面4个模块jar包在使用spring时必须导入。
它们的依赖关系:
(2)Data Access/Integration
它们的依赖关系
(3)Web:建立在应用程序上下文模块之上,为基于web的应用程序提供了上下文,还简化了处理多部分请求以及将请求参数绑定到域上的工作
它们的依赖关系
(4)AOP模块:提供了面向切面编程的实现,将逻辑代码分开,降低它们之间的耦合性
它们的依赖关系
(5)Test模块:
test部分只有一个模块,我将spring-context-support也放在这吧
它们的依赖关系
原文:https://blog.csdn.net/m0_37742084/article/details/69870203