一、Spring概况
1、Spring简介
Spring是一个轻量级控制反转和面向切面的容器框架,它主要是为了解决企业应用开发的复杂性而诞生的:
目的:解决企业应用开发的复杂性
功能:使用基本的JavaBean代替EJB
范围:任何Java应用
2、Spring起源
Spring的存在是因为它自身有着得天独厚的优势:
(1)它定位的领域是许多其他流行的framework没有的
(2)Spring是全面的和模块化的
(3)它的设计从底部帮助你编写易于测试的代码
(4)Spring是潜在的一站式解决方案
3、Spring优点
Spring天生存在如下优点:
(1)低侵入式设计,代码污染极低
(2)WriteOnce,RunAnywhere
(3)DI有效的降低了耦合度
(4)AOP提供了通用任务的集中管理
(5)ORM和DAO简化了对数据库访问
(6)高度开放性,并不强制
Spring的优点给开发带来的好处:
(1)可以有效组织中间层对象
(2)使用统一的配置文件
(3)促进良好编程习惯,减少编程代价
(4)易于单元测试
(5)使EJB成为一种备选
(6)为数据存取提供了一致的框架
4、Spring特点
方便解耦,简化开发
AOP编程的支持
声明式事物的支持
方便程序的测试
方便集成各种优秀的框架
降低JavaEEAPI的使用难度
Spring的源码是经典学习范例
5、Spring基本架构
Spring的核心模块:核心容器(SpringCore)、应用上下文(SpringContext)、AOP模块(SpringAOP)、JDBC和DAO模块(SpringDAO)、对象实体映射(SpringORM)、Web模块(SpringWeb)、MVC模块(SpringWebMVC)。
6、Spring总结
Spring带来了复杂的J2EE开发的春天
Spring希望为企业应用提供一站式的解决方案
它的核心是轻量级的IoC容器,它的目标是为J2EE应用提供了全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间可以彼此独立,也可以使用其它的框架方案加以代替
二、Spring之IOC
1、浅谈IOC
IOC(控制反转)是Spring的核心,贯穿始终。所谓IOC,对于Spring框架来说,就是由Spring来负责控制对象的生命周期和对象间的关系:
传统开发模式:对象之间互相依赖
IOC开发模式:IOC安排对象之间的依赖
2、IOC理论的背景
3、依赖注入(DI)
IOC的另外的名字叫做依赖注入,所谓的依赖注入,就是由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中。所以,依赖注入和控制反转是从不同的角度的描述的同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦。
4、IOC的好处
IOC在编程过程中不会对业务系统构成很强的侵入性,使用IOC之后,对象具有更好的可实行性,可重用性和可扩展性。
(1)降低组件之间的耦合度
(2)提高开发效率和产品质量
(3)统一标准,提高模块的复用性
(4)模块具有热插拔特性
5、IOC的通俗理解
IOC控制反转:创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在XML文件控制,侧重于原理
DI依赖注入:创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现
三、Spring之AOP
1、什么是AOP
AOP是与业务逻辑分离开的横切于业务逻辑的一种编程模式。
2、AOP的存在价值
AOP专门用于处理系统中分布于各个模块中的交叉