1. 先找到这个注解:
image.png
2. 会自动加载这个类
image.png
3. 默认为mode = PROXY, 进入这个类
image.png
4. ProxyTransactionManagementConfiguration 类
image.png
5. 看TransactionInterceptor 类
image.png
6. invokeWithinTransaction 方法
image.png
7. 发现没有找到注入的类
image.png
8. 找到父类
image.png
9. 找到实现方法
image.png
10. 看到对目标方法是public的校验
image.png
11. 得出结果,为什么@Transactional加在private上无效
image.png
12. 再深入看AbstractFallbackTransactionAttributeSource 类可以知道@Transactional的注解解析器是:SpringTransactionAnnotationParser
image.png