假设有这么一个类
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的耦合少一点。