AOP 中代理类的职责是什么?它的作用是什么?
问问题
847 次
1 回答
5
动态代理用于在 bean 的方法之前/之后执行附加代码。最简单的例子是事务处理:
- spring 在需要事务的 bean周围创建一个代理
- 如果一个方法被声明为事务a(例如用 注释
@Transactional
)代理启动一个新事务并委托给真正的方法 - 真正的方法执行并返回
- 代理现在提交(或回滚)事务
因此,您的代码变得与事务无关。当一个事务 bean 被注入另一个事务 bean 时,它实际上是被注入的代理(它与你的 bean 的类型相同)
并且代理是动态的,因为 spring 在编译时不知道所有 bean 的类型,所以它必须在运行时创建代理。
于 2010-09-13T08:48:12.650 回答