@Transactional(readOnly = false, rollbackFor = Throwable.class, isolation = Isolation.REPEATABLE_READ)
我们需要在这个方法里添加一个新业务操作,而且这个业务操作是不要求回滚的,类似于做日志记录一类的。
必须要将方法写到另一个类中,而且要通过spring的注入方式进行调用
@Override
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public void doMyExJob(UserDebitCardBean userDebitCard) {
System.out.println("…");
- 使用public;2. 写在外部类中,可被调用; 3. 使用注入的方式进行该方法的执行。
@Transactional注解可以标注在类和方法上。
spring建议我们将@Transaction注解在实现类上。
在方法上的@Transactional注解会覆盖掉类上的@Transactional。
注意:
@Transactional 可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。
默认情况下,只有来自外部的方法调用才会被AOP代理捕获,也就是,类内部方法调用本类内部的其他方法并不会引起事务行为,即使被调用方法使用@Transactional注解进行修饰。