Spring声明式事务

声明式事务
事务:
操作数据库
Spring提供了JdbcTemplate能快速的操作数据库

使用JDBC连接数据库的顺序:
1。加载JDBC驱动
2。提供JDBC连接的URL
3。创建数据库的连接
4。创建statement
5。执行sql语句
6。处理结果
7。关闭JDBC对象

声明式事务
环境搭建:
导入sql文件
模拟结账方法

声明式事务:
以前通过复杂的编程来编写一个事务 ,替换为只需要告诉Spring哪个方法是事务方法即可。


编程式事务:
TransactionFilter{
try{
//获取连接
//设置非自动 提交
chain.doFilter();
//提交
}catch(Exception e){
//回滚
}finally{
//关闭连接释放资源
}
}
------------------------------------------
aop 环绕通知就可以做
//获取连接
//设置非自动 提交
目标代码执行
//正常提交
//异常回滚
//最终关闭

事务
原子性
一致性
隔离性
持久性

事务管理代码的固定模式作为一种横切关注点,可以通过AOP方法模块化,进而借助Spring aop框架实现声明式事务管理。
事务管理器
DataSourceTransactionManager
可以在目标方法运行前后进行事务控制(事务切面)
快速为某个方法添加事务:
1)配置出事务管理器
bean标签 +数据源
2)开启基于注解的事务控制模式 依赖tx名称空间
3)给事务方法加注解
@Transactional


Spring ioc aop (动态代理)
代理套代理

IOC :
IOC是一个容器
容器启动的时候创建所有的单实例对象
我们可以直接从容器中获取到这个对象

SpringIOC
ioc容器的启动过程

posted @ 2021-09-30 16:46  下饭  阅读(23)  评论(0编辑  收藏  举报