辰砂
2021-06-04
@Transactional(rollbackFor = Exception.class, noRollbackFor = RuntimeException.class)
26
陈汤姆
2021-06-15
学到了,一直以为注解只能对public生效是因为动态代理的原因!
共 4 条评论
2
LkS
2021-06-04
可以使用noRollbackFor @Transactional(rollbackFor = Exception.class,noRollbackFor = RuntimeException.class)
2
study的程序员
2022-11-18
来自上海
事务层面默认 publicMethodsOnly=true,所以private或者protected都不生效 强行设置 publicMethodsOnly=false: @Bean @Primary @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public TransactionAttributeSource mytransactionAttributeSource() { return new AnnotationTransactionAttributeSource(false); } 之后protected生效,private不生效,aop不能代理private方法/final方法,所以不调用target的方法,所以spring注入的对象为null,所以会报NPE,studentMapper为空
1
安迪密恩
2022-03-11
我觉得可以把注解加在 saveStudent 这个方法上,要更自然一些。
1
qchang
2021-06-04
思考题:一种是try-catch判断异常类型后,非RuntimeException抛出;另一种可以采用注解@Transactional(noRollbackFor = RuntimeException.class)
1
大胖子
2023-04-24
来自北京
讲的非常清晰
雨落~紫竹
2022-06-22
其实就分2类 一类配置问题 一类代理问题
Monday
2021-07-19
案例2中,进入doSaveStudent()方法后,抛NPE(studentMapper==null 为true)
TANMIYOO
2021-06-04
@Transactional(rollbackFor = Exception.class, noRollbackFor = RuntimeException.class)