适合中小项目使用的,注解方案。
spring框架自己使用aop实现给业务方法增加事务的功能,使用Transactional注解
增加事务。
@Transactional注解
是spring框架中自己的注解,放在public方法的上面,表示当前方法具有事务,可以给注解的属性赋值,表示具体的隔离级别,传播行为,异常信息等等
使用@Transactional的步骤:
1、需要声明事务管理器对象
< bean id="自定义名称" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
2、开启事务注解驱动,告诉spring框架,我要使用注解的方式管理事务
3、在你的方法的上面加入@Transactional
适合大型项目,有很多的类,方法,需要大量的配置事务,使用aspectj框架功能,在spring配置文件中声明类,方法需要的事务。这种方式业务方法和事务配置完全分离
实现步骤:
1、要使用的是aspectj框架,需要加入依赖
< dependency>
< groupId>org.springframework< /groupId>
< artifactId>spring-aspects< /artifactId>
< version>5.2.9.RELEASE< /version>
< /dependency>
2、声明事务管理器对象
< bean id="自定义名称" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
3、声明方法需要的事务类型(配置方法的事务属性【隔离级别,传播行为】)
4、配置aop:指定哪些类要创建代理对象