https://mp.weixin.qq.com/s/MzfOq0VGqtDMaxyvp8SOnA

1、spring要求被代理方法必须是public的。

2、spring事务底层使用了aop,也就是通过jdk动态代理或者cglib,帮我们生成了代理类,在代理类中实现的事务功能。 如果方法被static、final修饰了,因为类加载机制就无法通过代理对象帮我们操作了。

3.方法内部调用