Spring学习
1、概念
spring是一个轻量级、非侵入性的框架,主要功能是一个创建对象的工厂类!
#Spring 作用
a. 创建对象以及处理对象之前的依赖关系(IOC)
b. 使用Spring可以进行统一的事务处理以及面向切面编程
c. Spring 也提供了jdbc操作的模板,便于对jdbc操作
2、术语
轻量级 :框架依赖比较小,jar包比较少!
非侵入性:侵入性指开发框架的时候,必须要实现某些接口或继承某些类, 这种叫侵入式设计!
IOC容器 : inversion of control, 控制反转, 也叫做依赖注入DI(dependency injection)
程序需要对象,就由程序创建对象,那就是"控制正转",表示程序有控制权!
对象的创建交给外部容器完成,自己程序本身不负责创建对象,这种叫控制反转!
(IOC容器,就是创建存储对象的,相当于applicationContext.xml配置文件!)
AOP,面向切面编程
切面,可以理解为一个独立的业务逻辑单元,例如:事务控制是一个切面,日志也可以理解为一个切面
3、Spring的事务
1、事务分类
(1) 编程式事务管理:
自己写代码控制事务!
JDBC:
conn.setAutoCommit(false);....
Hib:
session.beginTransaction();
(2)声明式事务管理:
Spring提供的声明式事务管理,可以让我们把事务代码通过aop编程,织入到业务方法上,
这样在我们写业务代码的时候,不需要写任何事务代码,在运行的时候,会给指定的方法
添加事务功能! 如果我们不想使用事务,直接在配置中去除事务控制即可,也不需要改
代码! 这就是spring提供的声明式事务!
2、Spring声明式事务管理类:
JDBC事务控制器类:DataSourceTransactionManager
Hibernate事务管理:HibernateTransactionManager