Spring注解事务不支持 protect private 方法的原因

Spring注解事务不支持 protect private 方法的原因_第1张图片

AbstractFallbackTransactionAttributeSource中getTransactionAttribute方法调用了其本身的computeTransactionAttribute方法,如下图
Spring注解事务不支持 protect private 方法的原因_第2张图片,其中allowPublicMethodsOnly方法由子类AnnotationTransactionAttributeSource实现,该子类方法中默认是true,所以当你加了事务注解的方法不是public时,该方法直接返回null
Spring注解事务不支持 protect private 方法的原因_第3张图片
接下来是AopUtils.canApply方法
Spring注解事务不支持 protect private 方法的原因_第4张图片
由于canApply方法返回false所以没有添加对应的事务Advisor

你可能感兴趣的:(Spring注解事务不支持 protect private 方法的原因)