【发布时间】:2018-01-09 20:26:09
【问题描述】:
我正在阅读有关放置事务(接口与实现)的位置:
Spring 团队的建议是您只使用 @Transactional 注释来注释具体类,而不是注释接口。您当然可以将@Transactional 注释放在接口(或接口方法)上,但是只有在使用基于接口的代理时才能按预期工作。事实上,注释是不继承意味着如果您使用基于类的代理,则基于类的代理基础设施将无法识别事务设置,并且对象不会被包装在事务代理中(这绝对是糟糕的)。所以请务必听取 Spring 团队的建议,仅使用 @Transactional 注释来注释具体类(以及具体类的方法)。
所以问题是基于接口的代理到底是什么,我如何查看它是否被使用?是某种配置还是我实例化/使用实例的方式?
【问题讨论】:
标签: java spring proxy spring-jdbc transactional