首页  >  文章  >  Java  >  java声明式事务的方法有哪些

java声明式事务的方法有哪些

PHPz
PHPz转载
2023-05-16 19:10:591537浏览

一、声明式事务

通过 AOP(面向切面)方式在方法前使用编程式事务的方法开启事务,在方法后提交或回滚。用配置文件的方法或注解方法(如:@Transactional)控制事务。

注解在方法上是方法自动启动事务,在类上是整个类中的方法都使用事务

二、方法

1.基于TransactionProxyFactoryBean的声明式事务管理

在applicationContext.xml中配置

java声明式事务的方法有哪些

然后在需要进行事务管理的service层注入这个代理类 accountrviceProxy

@Resource(name="accountrviceProxy")

这种方式有个缺点,就是我们要给每一个需要进行事务管理的service类都要配上它的代理类,配置起来比较繁琐。

2.基于AspectJ的XML的声明式事务管理

在配置切入点时有一个表达式:

expression="execution(* com.cn.study.spring.service.IAccountService+.*(..))"

execution括号里的参数依次表示 方法返回类型,包名,类名,方法名及方法的参数

其中 * 表示任意

IAccountService+ 表示 IAccountService接口所有实现类的方法

这种方式是比较常用的一种。

3.基于注解的声明式事务管理

第三种方式最简单,我们只需要在applicationContext.xml中配置开启注解事务的驱动,然后在需要进行事务管理的类前加上注解:

@Transactional(propagation=Propagation.REQUIRED)

以上是java声明式事务的方法有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:yisu.com。如有侵权,请联系admin@php.cn删除