1.下载spring所需的jar包
jar包下载链接: spring Artifact Repository Browser
-
进入jar包选择页面,选择自己想要下载的版本(我选择的是4.3.27),右键点击“Native Browser”
-
进入下载页面,下载所需文件
3. 解压“spring-framework-4.3.27.RELEASE-dist.zip”
4. 解压后我们在lib文件夹下会看到60个jar文件,所有的jar文件都是以3个为一组,对应Spring的20个模块的功能
.RELEASE.jar: 开发时需要引用的jar
.RELEASE-javadoc.jar: 文档
.RELEASE-sources.jar: 源码
2.结合spring的模块结构认识jar文件
Spring框架包含组织为约20个模块的功能。这些模块分为核心容器,数据访问/集成,Web,AOP(面向切面编程),检测,消息传递和测试
1.Test
spring提供的test单元测试模块。
依赖的jar包:spring-test-4.3.27.RELEASE
2.Core container
spring的核心功能模块,核心容器(IOC)主要有4部分组成,它们的完整依赖
- Beans
依赖的jar包:spring-beans-4.3.27.RELEASE
- Core
依赖的jar包:spring-core-4.3.27.RELEASE
注:Core 包依赖于Apache的commons-longgin包,所以在使用核心包的时候一定要将该jar包导入
下载地址:Apache Commons Logging 1.2 - Context
依赖的jar包:spring-context-4.3.27.RELEASE
- SpEL:Spring expression language spring标记语言
依赖的jar包:spring-expression-4.3.27.RELEASE
3.AOP+Aspects
AOP和Aspects共同组成了spring的面向切面编程的功能模块
- AOP(面向切面编程)
依赖的jar包:spring-aop-4.3.27.RELEASE
- Aspects(切面)
依赖的jar包:spring-aspects-4.3.27.RELEASE
4.instrumentation(设备整合)
spring-instrument:该模块提供了在某些应用程序服务器中使用的类检测支持和类加载器实现。
依赖的jar包:spring-instrument-4.3.27.RELEASE
spring-instrument-tomcat :该模块包含Spring的Tomcat的检测代理。
依赖的jar包:spring-instrument-tomcat-4.3.27.RELEASE
5.Messaging
spring的消息服务
依赖的jar包:spring-messaging-4.3.27.RELEASE
6.Data Access/Integration
spring的数据访问和集成主要由5部分组成,JDBC、ORM、 Transactions是和数据库访问相关的,OXM、JMS是和集成功能相关的
- JDBC 数据库操作(一般我们都回会去集成第三方持久化框架)
依赖的jar包:spring-jdbc-4.3.27.RELEASE-javadoc
- ORM 对象关系映射
依赖的jar包:spring-orm-4.3.27.RELEASE
- OXM
依赖的jar包:spring-oxm-4.3.27.RELEASE
- JMS(java messaging service)
spring jms模块(Java消息传递服务)包含用于生成和使用消息的特性。自SpringFramework4.1以来,它提供了与Spring-messaging模块的集成
依赖的jar包:spring-jms-4.3.27.RELEASE
- Transactions 事务控制
对实现特殊接口的类以及所有POJO(普通Java对象)进行编程和声明式事务管理
依赖的jar包:spring-tx-4.3.27.RELEASE
7.Web
spring开发web应用的模块
- WebSocket
依赖的jar包:spring-websocket-4.3.27.RELEASE
- Servlet (原生web)
依赖的jar包:spring-web-4.3.27.RELEASE
- Web 开发web项目的组件
依赖的jar包:spring-webmvc-4.3.27.RELEASE
- Portlet 开发web项目的组件集成
依赖的jar包:spring-webmvc-portlet-4.3.27.RELEASE
从上面的介绍中我们可以看出spring各个模块之间是相互独立的,所以我们就可以在项目开发过程中根据需要去导入对应模块的jar包就好,而不用将所有的文件全部导入。目前开发中主要使用的就是IOC和AOP两个模块