动态代理演变

拿JDBC开事务举例子

最初 写代码 每个CUD 都需要开启事务 所以出现很多累赘代码

因此提出静态代理的构想,把事务交给后台做,程序员只需要 调用update(sql)就行了,update(sql)方法里会开启事务相关操作

但是这不合理,因为如果有上千个CUD操作,得有上千个 函数里都开启关闭事务

所以提出了动态代理的构想,让动态代理执行CRUD中的事务行为,写的代码大大减少

但是这又有问题,比如上百个类,类中有上百个方法,有些方法需要事务,而有些方法不需要事务,则判断条件在动态代理的invoke中会非常臃肿,所以提出了切面的构想,切面就是执行代码之前要执行的,相当过滤器,在配置文件中配置切面,切面中有很多通知。

声明式事务的引出,因为事务的切面要程序员自己写,提出了声明式事务后,程序员只需要配置事务就行了,不需要自己写事务切面的相关代码,也不需要了解事务切面所需要的东西,把事务交给spring处理就可以了

最新文章

  1. Emphasis on Filtering & Depth Map Occlusion Filling
  2. Win10 UWP开发中的重复性静态UI绘制小技巧 2
  3. Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统
  4. Vue.js之初印象
  5. 淘宝JAVA中间件Diamond详解(一)---简介&快速使用
  6. NVIDIA CG语言 函数之所有数学类函数(Mathematical Functions)
  7. c语言0 ‘0’ '\0'空格都是什么玩意儿
  8. U3D学习使用笔记(四)
  9. 在win7在结构cocos2d-x v3.2rc0开发环境(For Android)
  10. word插入图片显示不完整的解决的方法
  11. 【javascript】回调函数
  12. Oracle中的游标
  13. git生成ssh公钥方法--远程连接github仓库
  14. hdu3072 Intelligence System (最小树形图?)
  15. python36--将数据保存为excel
  16. Django 图片上传、存储与显示
  17. strcat的几种实现及性能比较
  18. mysql工作中常见问题
  19. java 读取execl文件
  20. Sublime Text 2.0.2,Build 2221注册码

热门文章

  1. [POJ1980]Unit Fraction Partition(搜索)
  2. ncnn阅读 - CMakeLists.txt
  3. 推荐一套WPF主题皮肤
  4. 一种计算MD5的实现方法
  5. [Ubuntu Setup] Ubuntu 13.04 安装 ia32-libs
  6. Spring Dataflow批处理框架在OCP上的部署
  7. ubuntu安装elasticSearch及插件
  8. 理解PHP的变量,值与引用的关系
  9. 格雷码C++递归实现
  10. 不输入sudo使用docker