spring的声明式事物

spring的声明式事物

ID:12803096

大小:32.50 KB

页数:3页

时间:2018-07-19

spring的声明式事物_第1页
spring的声明式事物_第2页
spring的声明式事物_第3页
资源描述:

《spring的声明式事物》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Spring的声明式事物声明式事务的原理:声明式事务处理通过AOP的实现把事物管理代码作为方面封装来横向插入到业务代码中,使得事务管理代码和业务代码解耦。在折冲形式我们结合IOC容器和spring已有的FactoryBean来对事务管理执行属性配置,比如传播行为,隔离级别等。其中最基本的形式就是通过配置TransactionProxyFactoryBean来实现声明式事务。声明式事务的配置:步骤一:声明委托对象<.beanname=”userDao”class=”com.softfz.dao.Userdao”>

2、ropertyname=”dataSource”ref=”dataSource”>步骤二:定义事务管理器步骤三:创建事务代理父工程

3、on”class=”org.springframework.transaction.interceptor.TransactionProxyFactoryBean”abstract=”true”>PROPAGATION_REQUIRED

4、>注意:1、abstract=”true”说明该工厂为抽象工厂,无法进行对象处理,只能被继承2、transactionAttributes表示设置事务的传播属性步骤四:创建事务子工厂步骤五:往需要userDao对象的调用者注入userDao注意:注入的是代理userDao对象的事务子工厂,并

5、且使用接口声明如IuserDaouserDaoProxy//省略get,set方法声明式处理中的异常处理Spring中,将委托对象的每个方法创建事务,spring的事务支持默认对运行期异常(RuntimeException)进行回滚,而RuntimeException无需开发者显示声明。如果手动捕获异常,则spring容器认为开发者试图进行手动事务回滚,将无法用spring容器来进行事务回滚。但是如果发生非RuntimeException及其子类的异常,则spring容器无法进行事务处理,如果需要管理,需要进行相关

6、配置,代码如下://+提交,-回滚,后面为异常类型,表示该方法如果抛出异常则进行相应的事务处理PROPAGATION_REQUIRED,-FileNotFoundExceptionreadOnlyRuntimeException和非RuntimeE的区别Exception体系包括RuntimeException体系和其他非RuntimeException的体系(1)RuntimeException体系

7、:包括错误的类型转换、数组的越界访问和试图访问空指针等。处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如可以通过检查数组下标边界类避免数据越界问题异常。NumberFormatException:继承IllegalArgumentException,字符串转换为数字时。比如inti=Integer.parseInt("ab3");ArrayIndexOutOfBoundsException:数组越界比如int[]a=newint[3];intb=a

8、[3];StringIndexOutOfBoundsException:字符串越界比如Strings="hello";charc=s.chatAt(6);ClassCastException:类型转换错误比如Objectobj=newObject();Strings=(String)obj;(2)其他非RuntimeException(IOException

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。