假设有这么一个类
public class A{ func1(){} func2(){} }
func1加了事务的aop,并且func2需要通过proxy来调用func1,那func2如何拿到A的proxy呢?
一个办法是实现BeanFactoryAware接口,另一个办法就是这样
A self = this; try { A proxy = (A) AopContext.currentProxy(); if (proxy != null) { self = proxy; } } catch (IllegalStateException e) { e.printStackTrace(); }
然后在bean的配置中加上 <property name="exposeProxy" value="true" />
这个方法和第一种办法比起来,和spring的耦合少一点。