【发布时间】:2019-07-11 16:37:38
【问题描述】:
我面试过,面试过程中被问到如下问题:当@Transactional注解同时加到类和一个方法上,而没有加到其他方法上,怎么才能只做事务这个方法有效吗?
例如:
@Transactional
public class ClassA {
@Transactional
private void methodA() {
}
private void methodB() {
}
private void methodC() {
}
}
那么,如何确保类中的其他事务不生效?这个问题的重点是什么?
【问题讨论】:
-
我不明白你的问题。类级别的注释影响所有方法。方法级别的注解覆盖了可能的类级别注解。
-
effective的采访是什么意思?在给定的示例中,什么都不会改变。用相同的注释来表示类和方法不会有任何区别。仅当两个注解不同时才会发生差异,例如方法上的@Transactional(readOnly = false)将覆盖从类级别(@Transactional)继承的注解。
标签: java spring spring-boot aop spring-aop