码迷,mamicode.com
首页 > 编程语言 > 详细

spring 代理 演变过程

时间:2014-06-15 20:44:00      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:文件      问题   代码   sql   程序员   

动态代理演变

拿JDBC开事务举例子

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

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

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

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

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

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

spring 代理 演变过程,布布扣,bubuko.com

spring 代理 演变过程

标签:文件      问题   代码   sql   程序员   

原文地址:http://www.cnblogs.com/friends-wf/p/3785675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!