Java 为什么Spring AOP需要代理类?
AOP中代理类的职责是什么?它的作用是什么?动态用于在bean的方法之前/之后执行额外的代码。最简单的例子是事务处理:Java 为什么Spring AOP需要代理类?,java,spring,spring-aop,Java,Spring,Spring Aop,AOP中代理类的职责是什么?它的作用是什么?动态用于在bean的方法之前/之后执行额外的代码。最简单的例子是事务处理: spring围绕需要事务的bean创建一个代理 如果一个方法被声明为transactiona(例如,用@Transactional注释),则代理将启动一个新的事务并委托给真实的方法 实方法执行并返回 代理现在提交(或回滚)事务 因此,您的代码变得与事务无关。当一个事务bean被注入到另一个事务bean中时,实际上是被注入的代理(与您的bean的类型相同) 代理是动态的,因为
- spring围绕需要事务的bean创建一个代理
- 如果一个方法被声明为transactiona(例如,用
注释),则代理将启动一个新的事务并委托给真实的方法@Transactional
- 实方法执行并返回
- 代理现在提交(或回滚)事务
- spring围绕需要事务的bean创建一个代理
- 如果一个方法被声明为transactiona(例如,用
注释),则代理将启动一个新的事务并委托给真实的方法@Transactional
- 实方法执行并返回
- 代理现在提交(或回滚)事务
代理是动态的,因为spring在编译时不知道所有bean的类型,所以它必须在运行时创建代理。回答得好!这也可能有助于解释春季的代理:感谢Bozho的快速响应!这也可能有助于解释春季的代理:感谢Bozho的快速响应