Spring支持两种事务管理方式

1、编程式事务管理

在实际应用中很少使用,要手动改service层中的代码
通过TransactionTemplate手动管理事务

2、使用XML配置声明式事务

开发中推荐使用,代码侵入性最小
Spring的声明式事务是通过AOP实现的

2.1基于TransactionProxyFactoryBean的方式(不常用,因为要为每一个类配置TransactionProxyFactoryBean)

①在applicationContext.xml中配置transactionManager事务管理器
②为service生成代理类(主要包括事务管理器、属性、目标类等)
③属性有

propagation(传播行为),isolation(隔离级别),readOnly(只读事务),-Exception(回滚),+Exception(不回滚)

2.2基于AspectJ的XML方式(常用,可配置在某些类下的所有子类,在业务层不需要添加什么)

①配置事务管理器
②配置事务的通知(事务的增强)
③配置切面(包括切入点、切面)

2.2基于注解的方式(常用,配置简单,但需要在业务层添加@Transactional注解)

在业务实现类上加上@Transactional注解,它有一些属性,写在后面的()中,例如:

@Transactional(propagation=propagation.required,RollbackFor,noRollbackFor)

①配置事务管理器
②开启注解事务

你可能感兴趣的:(Spring支持两种事务管理方式)