【发布时间】:2012-05-13 08:21:36
【问题描述】:
据我所知,Spring 使用 JDK 为实现任何接口的类生成动态代理,而使用 Cglib 为不实现任何接口的类生成动态代理。对于描述性事务,Spring 使用代理来添加事务方面。请看下面的代码:
interface Demo {
void methodA();
}
public class DemoImpl implements Demo{
@Transactional
public void updateA() {}
@Transactional
public void updateB() {}
}
我认为 updateA 可以很好地处理事务。但是 updateB 方法呢? @Transactional 对它有用吗? 可能我的理解不正确。如果提供相关的 Spring 源代码来解释 Spring 如何使用 JDK/cglib 代理类和接口,那就太好了。谢谢
我在 xml 中有配置:
<tx:annotation-driven transaction-manager="transactionManager" />
【问题讨论】:
标签: spring proxy aop transactional