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