1 概述
1.1 是什么
Spring是一个轻量级开源框架。
Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现EJB的某些功能,而且更加优雅和简洁。
1.2 本质
Spring的本质是管理软件中的对象,如何创建对象和维护对象之间的关系。
1.3 优良特性
1.3.1 非侵入式
基于Spring开发的应用中的对象可以不依赖于Spring的API,即不需要实现或者继承Spring的接口和类。
1.3.2 依赖注入
依赖注入(DI,Dependency Injection),是反转控制(IOC)思想最经典的实现。
在之前的开发中,如果需要用到某个类的实例,需要开发人员主动创建这个类的实例。反转控制就是反转了这个类的获取方式,不再由开发人员手动创建实例,交由IOC容器来提供类的实例,开发人员只需要声明这个类即可,IOC容器会通过依赖注入的方式将资源准备好。
1.3.3 面向切面编程
面向切面编程(AOP,Aspect Oriented Programming),使用简单的方式进行代码开发。
1.3.4 容器
Spring是一个容器,因为它包含并且管理应用对象的生命周期。
1.3.5 组件化
Spring实现了使用简单的组件配置组合成一个复杂的应用,可以使用XML和Java注解组合这些对象。
1.3.6 一站式
在IOC和AOP的基础上可以整合企业应用的开源框架和第三方类库,Spring自身也提供了表述层的SpringMVC和持久层的SpringJDBC。
2 Spring模块
2.1 Spring核心容器
Beans、Core、Context、SpEL。
2.2 SpringAOP
AOP、Aspects。
2.3 Spring数据库
JDBC、ORM、OXM、JSM、Transaction。
2.4 Spring应用
WebSocket、Servlet、Web、Portlet。
3 下载
进入Spring官网:
https://spring.io/projects/spring-framework
点击GitHub图标:
在GitHub页面中找到:
在下载页面中找到资源地址:
在页面中左侧的导航栏中选择Artifacts并在右侧的文档树找到release文件夹:
在release文件夹中可以通过release/org/springframework/spring/路径找到spring资源目录,也可以通过网址:
https://repo.spring.io/ui/native/release/org/springframework/spring/
进入资源目录后选择版本下载spring-版本-dist.zip即可。
4 导包
4.1 核心
这四个是Spring的核心包,能够在xml文件中配置bean。
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
4.2 依赖
用来记录日志的包。
commons-logging-1.1.3.jar
4.3 AOP注解
用来对类进行注解,将类注入到IOC容器中,同时必须设置扫描。
根据类型进行自动装配。
spring-aop-4.0.0.RELEASE.jar
4.4 Spring的AspectJ工具
spring-aspects-4.0.0.RELEASE.jar
4.5 AspectJ动态代理
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
com.springsource.net.sf.cglib-2.2.0.jar
com.springsource.org.aopalliance-1.0.0.jar
4.6 数据库事务
spring-jdbc-4.0.0.RELEASE.jar
spring-orm-4.0.0.RELEASE.jar
spring-tx-4.0.0.RELEASE.jar