spring 代理 演变过程
2024-09-04 11:17:13
动态代理演变
拿JDBC开事务举例子
最初 写代码 每个CUD 都需要开启事务 所以出现很多累赘代码
因此提出静态代理的构想,把事务交给后台做,程序员只需要 调用update(sql)就行了,update(sql)方法里会开启事务相关操作
但是这不合理,因为如果有上千个CUD操作,得有上千个 函数里都开启关闭事务
所以提出了动态代理的构想,让动态代理执行CRUD中的事务行为,写的代码大大减少
但是这又有问题,比如上百个类,类中有上百个方法,有些方法需要事务,而有些方法不需要事务,则判断条件在动态代理的invoke中会非常臃肿,所以提出了切面的构想,切面就是执行代码之前要执行的,相当过滤器,在配置文件中配置切面,切面中有很多通知。
声明式事务的引出,因为事务的切面要程序员自己写,提出了声明式事务后,程序员只需要配置事务就行了,不需要自己写事务切面的相关代码,也不需要了解事务切面所需要的东西,把事务交给spring处理就可以了
最新文章
- Emphasis on Filtering &; Depth Map Occlusion Filling
- Win10 UWP开发中的重复性静态UI绘制小技巧 2
- Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统
- Vue.js之初印象
- 淘宝JAVA中间件Diamond详解(一)---简介&;快速使用
- NVIDIA CG语言 函数之所有数学类函数(Mathematical Functions)
- c语言0 ‘0’ '\0'空格都是什么玩意儿
- U3D学习使用笔记(四)
- 在win7在结构cocos2d-x v3.2rc0开发环境(For Android)
- word插入图片显示不完整的解决的方法
- 【javascript】回调函数
- Oracle中的游标
- git生成ssh公钥方法--远程连接github仓库
- hdu3072 Intelligence System (最小树形图?)
- python36--将数据保存为excel
- Django 图片上传、存储与显示
- strcat的几种实现及性能比较
- mysql工作中常见问题
- java 读取execl文件
- Sublime Text 2.0.2,Build 2221注册码