Хочу используя Spring AOP, перехватывать вызовы методов объекта. Все работает за исключением того, что
методы вызванные из другого метода уже не перехватываются (вызов method2 из method1 например).
Как это сделать можно?
ProxyFactory factory = new ProxyFactory();
A a = new AImpl();
factory.setTarget(a);
factory.setProxyTargetClass(true);
factory.addAdvice(new MyBeforeAdvice());
A b = (A)factory.getProxy();
b.method1();
public interface A {
method1();
method2();
}
public class AImpl implements A {
public void method1() {
method2();
}
public void method2() {
}
}
static class MyBeforeAdvice implements MethodBeforeAdvice {
public void before(Method m, Object[] args, Object target) throws Throwable {
System.out.println("Before advice called " + m.getName());
}
}
Нужно, чтобы вывелось:
Before advice called method1
Before advice called method2