applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
来源:互联网 发布:linux mint 18和ubuntu 编辑:程序博客网 时间:2024/05/16 15:53
applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
版权声明:本文为博主原创文章,未经博主允许不得转载。
applicationContext-common.xml :
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<!-- 配置sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<!-- 配置事务的传播特性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="del*" propagation="REQUIRED"/>
<tx:method name="modify*" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
<!-- 那些类的哪些方法参与事务 -->
<aop:config>
<aop:pointcut id="allManagerMethod" expression="execution(* com.z2sci.soa.manager.*.*(..))"/>
<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
</aop:config>
</beans>
spring使用 <tx:advice>和 <aop:config> 用来配置事务,具体如何配置你可以参考Spring文档。
我解释一下(* com.z2sci.soa.manager.*.*(..))中几个通配符的含义:
|第一个 * —— 通配 任意返回值类型|
|第二个 * —— 通配 包com.z2sci.soa.manager下的任意class|
|第三个 * —— 通配 包com.z2sci.soa.manager下的任意class的任意方法|
|第四个 .. —— 通配 方法可以有0个或多个参数|
综上:包com.z2sci.soa.manager下的任意class的具有任意返回值类型、任意数目参数和任意名称的方法
<tx:advice/> 有关的设置
这一节里将描述通过 <tx:advice/> 标签来指定不同的事务性设置。默认的 <tx:advice/> 设置如下:
事务传播设置是 REQUIRED
隔离级别是 DEFAULT
事务是 读/写
事务超时默认是依赖于事务系统的,或者事务超时没有被支持。
任何 RuntimeException 将触发事务回滚,但是任何 checked Exception 将不触发事务回滚
这些默认的设置当然也是可以被改变的。 <tx:advice/> 和 <tx:attributes/> 标签里的 <tx:method/> 各种属性设置总结如下:
表 9.1. <tx:method/> 有关的设置
- applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
- applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
- applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
- applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
- applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- spring tx:advice 和 aop:config 配置事务
- magento 产品页随机调用同子分类产品
- 十个程序员里面九个闷葫芦???
- 001设计一个有GetMin功能的栈
- FZU1002-HangOver
- 面向对象分析的三个模型与5个层次
- applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
- Sqlserver数据库批量导入数据
- CCF201612-2工资计算
- 《javascript设计模式与开发实践》阅读笔记(五)——高阶函数
- C#面试题
- 《μCOS-III源码分析笔记》学习笔记|2|第三章时间管理
- 【学习】1.1 NES的硬件特点
- A Neural Algorithm 0f Artistic Style 云笔记
- 网络框架-retrofit,okhttp