-
XML文件配置事务管理器查看全部
-
基于注解的声明式事务查看全部
-
事务传播行为查看全部
-
事务隔离级别查看全部
-
事务管理器的使用查看全部
-
/** * Spring声明式事务管理的方式一 测试类 - 传统方式 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext2.xml") public class SpringDemo2 { /** * 注入代理类 - 因为代理类进行了增强的操作 */ //@Resource(name = "accountService")//这个为原本的,下面那个name的值是bean的name @Resource(name="accountServiceProxy") private AccountService accountService; /** * 转账案例: */ @Test public void demo1() { accountService.transfer("aaa","bbb",200d); } }查看全部
-
applicationContext.xml配置 <!-- 配置业务层代理 --> <bean id="accountServiceProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <!-- 配置目标对象 --> <property name="target" ref="accountService"></property> <!-- 注入事务管理器 --> <property name="transactionManager" ref="transactionManager"></property> <!-- 注入事务属性 --> <property name="transactionAttributes" > <props> <!-- prop格式: * PROPAGATION :事务的传播行为 * ISOLATION :事务的隔离级别 * readOnly :只读(不可以进行修改,插入,删除的操作) * -Exception :发生哪些异常回滚事务 * +Exception :发生哪些异常事务不回滚 --> <!-- key的"*"代表全部方法,替换为"save*"则save....的方法 后面的以逗号隔开 --> <prop key="*">PROPAGATION_REQUIRED,+java.lang.ArithmeticException</prop> </props> </property>查看全部
-
总结:查看全部
-
放到需要使用的实现类上 /* * @Transactional 注解中的属性 * propagation :传播行为 * isolation :隔离级别 * read-only :只读 * rollback-for :发生哪些异常时回滚 * no-rollback-for :发生哪些异常时不回滚 * timeout :过期信息 */ @Transactional(propagation=Propagation.REQUIRED)查看全部
-
Spring的声明式事务管理三:基于注解 <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 开启注解事务 --> <tx:annotation-driven transaction-manager="transactionManager"/>查看全部
-
声明式事务管理方式二:基于AspectJ的xml方式的配置 <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 配置事务的通知:(事务的增强) --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- propagation :传播行为 isolation :隔离级别 read-only :只读 rollback-for :发生哪些异常时回滚 no-rollback-for :发生哪些异常时不回滚 timeout :过期信息 --> <tx:method name="transfer" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <!-- 配置aop切面 --> <aop:config> <!-- 配置切入点 --> <aop:pointcut expression="execution(* cn.muke.spring.demo3.AccountService+.*(..))" id="pointcut1"/> <!-- 配置切面 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut1"/> </aop:config>查看全部
-
声明式事务(代理) <!-- 配置事务管理 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 配置业务层的代理 --> <bean id="accountServiceProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <!-- 配置目标对象 --> <property name="target" ref="accountService"></property> <!-- 注入事务管理器 --> <property name="transactionManager" ref="transactionManager"/> <!-- 注入事务的属性 --> <property name="transactionAttributes"> <props> <!-- * PROPAGATION :事务的传播行为 * ISOLATION :事务的隔离级别 * readOnly :只读(不允许进行修改,插入,删除) * -Exception :发生哪些异常回滚事务 * +Exception :发生哪些异常事务不会滚。 --> <prop key="transfer">PROPAGATION_REQUIRED</prop> </props> </property> </bean>查看全部
-
applicationContext.xml查看全部
-
脏读,A进行update、insert时候,B读取了中间状态不知道对不对的值; 不可重复读,B在A 的update操作前后,读到的数据不一致; 幻读,B在A的insert操作前后,读到了的数据不一致查看全部
-
spring的事务管理查看全部
-
事务总结查看全部
举报
0/150
提交
取消