文中提到的书是由杨章伟和吴为胜所著的Spring+Spring MVC+MyBatis从零开始学
1. 什么是Spring
Spring是一个以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming)为内核的框架。IoC是Spring的基础。IoC实现的是一种控制,简单地说,就是以前调用new构造方法来创建对象,现在变成了使用Spring来创建对象。DI(Dependency Inject,依赖注入)与IoC的含义相同,从两个角度描述同一个概念。简单地说,DI就是对象的属性,已经被注入好相关值,直接使用即可。
2. Spring的下载及目录结构
使用Spring框架进行开发需要用到Spring框架包和第三方依赖包,具体如下:
2.1 Spring框架包
Spring经过十多年的发展,版本不断升级。这本书中的实例代码基于Spring4.3.6编写,建议下载该版本(也可以根据实际情况下载最新的版本),其框架压缩包名称为spring-framework-4.3.6.RELEASE-dist.zip,可以通过地址“https://repo.spring.io/simple/libs-release-local/org/springframework/spring/4.3.6.RELEASE/”下载。下载完成后,将压缩包解压,最终目录结构如下图所示:
其中,libs目录下包含60个JAR文件,这些JAR包可分为三类:
- 以RELEASE.jar结尾的是Spring框架class文件的压缩包。
- 以RELEASE-javadoc.jar结尾的是Spring框架API文档的压缩包。
- 以RELEASE-sources.jar结尾的是Spring框架源文件的压缩包。
整个Spring框架由20个模块组成,该目录下Spring为每个模块都提供了这3类压缩包。
在libs目录中,有4个Spring的基础包,它们分别对应Spring核心容器的4个模块,举起如下表:
包名 | 说明 |
---|---|
spring-core-4.3.6.RELEASE.jar | 包含Spring框架基本的核心工具类,Spring其他组件都要用到这个包里的类 |
spring-beans-4.3.6.RELEASE.jar | 所有应用都要用到的JAR包,包含访问配置文件、创建和管理Bean以及进行IoC或者DI操作相关的所有类 |
spring-context-4.3.6.RELEASE.jar | Spring提供了在基础IoC功能上的扩展服务,还提供了许多企业级服务的支持,如任务调度、JNDI定位、EJB集成、远程访问、缓存、邮件服务以及各种视图层框架的封装等 |
spring-expression-4.3.6.RELEASE.jar | 定义了Spring的表达式语言 |
2.2 第三方依赖包
在使用Spring进行开发时,Spring的核心容器还需要依赖commons.loging的JAR包。该JAR包可以通过网址http://commons.apache.org/proper/commons-logging/download_logging.cgi下载。下载后得到一个名为commons-logging-1.2-bin.zip的压缩包,将其解压后可以找到commons-logging-1.2.jar。
初学者学习Spring框架时,只需将Spring的4个基础包以及commons-logging-1.2.jar包复制到项目的lib目录下,并发布到类路径中即可。