@Transactional
标注在类上(或方法);而JDK动态代理类事务注解@Transactional
可以标注在接口上(或方法),也可以标注在实现类上(或方法)配置项
spring.aop.auto
&spring.aop.proxy-target-class
&@EnableTransactionManagement(proxyTargetClass = true)
auto | proxy-target-class | proxyTargetClass | 代理技术 | 备注 |
---|---|---|---|---|
true | false | false | JDK动态代理 | |
true | true | false | CGLIB | 默认值 |
true | false | true | CGLIB | |
true | true | true | CGLIB | |
false | false | false | JDK动态代理 | |
false | true | false | JDK动态代理 | |
false | false | true | CGLIB | |
false | true | true | CGLIB |