场景一
@Transactional
注解标注方法修饰符为非public方法时,@Transactional
注解将会不起作用。
例如以下代码,定义一个错误的@Transactional
标注实现,修饰一个默认访问符的方法:
@Service
public class TestServiceImpl {
@Resource
private TestMapper testMapper;
@Transactional
void insertTest() {
int re = testMapper.insert(new Test(10));
if (re > 0) {
throw new NeedToInterceptException("need intercept");
}
testMapper.insert(new Test(210));
}
}
测试用例:
@RunWith(SpringRunner.class)