applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
来源:互联网 发布:国内 摄影师 知乎 编辑:程序博客网 时间:2024/05/17 02:12
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 配置事务
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- windows shell 修改注册表
- java web培训_北软教育_工作日志_6.18
- 夜市大排档
- 在Ubuntu下编译WebKit源码
- applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
- 编译原理之逆波兰表达式
- 常用的排序算法的时间复杂度和空间复杂度
- 调试bug心得
- Windows消息机制 理解
- Boost.Asio和ACE之间关于Socket编程的比较
- AS3.0使用余弦和正弦移动小车
- 《WCF技术内幕》翻译26:第2部分_第5章_消息:Buffered vs Streamed、序列化和反序列化消息
- 《写给程序员新手的话——(4)一个优秀程序员应具备的特质》