准备工作
1 spring framework
体系结构及内部各模块
jar
之间的
maven
依赖关系
https://www.cnblogs.com/ywlaker/p/6136625.html
很多人都在用 spring 开发 java 项目,但是配置 maven 依赖的时候并不能明确要配置哪些 spring 的 jar,经常是胡乱添加一堆,编译或运行报错就继
续配置 jar 依赖,导致 spring 依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些 spring 的依赖,只有拷贝,其实,当初我就是这么干
的!
spring 的 jar 包只有 20 个左右,每个都有相应的功能,一个 jar 还可能依赖了若干其他 jar,所以,搞清楚它们之间的关系,配置 maven 依赖就
可以简洁明了,下面举个例子,要在普通 java 工程使用 spring 框架,需要哪些 jar 呢?只要一个
1
2
3
4
5
<dependency>
""""<groupId>org.springframework</groupId>
""""<artifactId>spring-context</artifactId>
""""<version>3.2.17.RELEASE</version>
</dependency>
那要在 web 工程中引入 spring mvc 呢?也只要配置一个依赖
1
2
3
4
5
<dependency>
""""<groupId>org.springframework</groupId>
""""<artifactId>spring-webmvc</artifactId>
""""<version>3.2.17.RELEASE</version>
</dependency>
为什么可以这样配置?接下来我们以 spring 3.2.17.RELEASE 版本为例,介绍 spring 框架结构,spring 4 稍有不同,将在最后介绍
spring 官网给出了一张 spring3 的结构图
图中将 spring 分为 5 个部分:core、aop、data access、web、test,图中每个圆角矩形都对应一个 jar,如果在 maven 中配置,所有这些
jar 的“groupId”都是“org.springframework”,每个 jar 有一个不同的“artifactId”,另外,“instrumentation”有两个 jar,还有一个“spring-
context-support”图中没有列出,所以 spring3 的 jar 包一共是 19 个
下面介绍这 5 个部分的 jar 以及依赖关系
core
core 部分包含 4 个模块
1. spring-core:依赖注入 IoC 与 DI 的最基本实现