学习记录 - 声明式事务管理方式:基于AspectJ的XML方式和基于注解的方式
2017-03-28 20:19
573 查看
基于AspectJ的XML方式
基于注解的方式
总结:
![](https://img-blog.csdn.net/20170328204021972?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzMzcwODky/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4000
<!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- 配置事务的通知:(事务的增强) --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="transfer" propagation="REQUIRED" isolation="DEFAULT" /> <!-- <tx:method>标签中的属性: propagation :事务的传播行为 isolation :隔离级别 read-only :只读 rollback-for:发生哪些异常回滚 no-rollback-for:发生哪些异常不要回滚 timeout :过期信息 --> </tx:attributes> </tx:advice> <!-- 配置aop的切面 --> <aop:config> <!-- 切入点 前面*代表返任意回值 ,其中AccountService+.*(..)的 +代表子类 / .*任意方法 / (..)任意参数--> <aop:pointcut expression="execution(* demo3.AccountService+.*(..))" id="pointcut1"/> <!-- 切面 <aop:advisor> :一个切入点,一个通知 <aop:aspect> :多个切入点,多个通知 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut1"/> </aop:config>主要是aop方式的事务管理
基于注解的方式
<!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- 开启注解事务 --> <tx:annotation-driven transaction-manager="transactionManager"/>业务层实现类添加注解
/** * 转账案例的业务层实现类 * @author kyulin * * @Transactional注解中的属性: * propagation :传播行为 * isolation :隔离级别 * readOnly :只读 * rollbackFor :发生哪些异常回滚 * noRollbackFor:发生哪些异常不回滚 */ @Transactional //@Transactional(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT,readOnly=true) public class AccountServiceImpl implements AccountService { //注入转账的DAO的类 private AccountDao accountDao; public void setAccountDao(AccountDao accountDao) { this.accountDao = accountDao; } /** * * @param out :转出的账号 * @param in :转入的账号 * @param money :转账金额 */ @Override public void transfer(String out, String in, Double money) { // TODO Auto-generated method stub accountDao.outMoney(out, money); int d = 1/0; accountDao.inMoney(in, money); } }
总结:
4000
相关文章推荐
- Spring 声明式事务管理----基于AspectJ的XML方式
- 基于@Transactional注解方式的spring声明式事务管理
- spring声明式事务管理:基于注解的方式
- Spring 事务管理(基于xml方式和注解方式)
- Spring声明式事务管理(基于注解方式实现)
- 深入解读Spring Framework事务管理(第三弹:基于AspectJ的XML声明式事务管理)
- Spring声明式事务管理(基于注解方式实现)
- Spring学习---(4)XML方式实现Spring声明式事务管理
- Spring 声明式事务管理----基于注解方式
- spring声明式事务管理:基于注解的方式
- Spring学习---(5)注解方式实现Spring声明式事务管理
- 记录学习的点滴(Spring事务注解方式)
- spring事物配置,声明式事务管理和基于@Transactional注解的使用
- spring 声明式事务管理注解方式实现
- Spring3.0学习-注解模式下的Spring3+hibernate3+struts2-事务管理(xml模式和注解模式的事务注入+@Repository@Service@Transactional)
- spring事物配置,声明式事务管理和基于@Transactional注解的使用
- spring事物配置,声明式事务管理和基于@Transactional注解的使用 [转]
- spring事物配置,声明式事务管理和基于@Transactional注解的使用
- spring事物配置,声明式事务管理和基于@Transactional注解的使用
- spring事务系列(3)--声明式事务管理(xml方式)