Hopefully this example will help:
Code:
<bean id="myPointcut" class="org.springframework.aop.support.ControlFlowPointcut">
<constructor-arg index="0" >
<value>forum9652.cflow.Outer</value>
</constructor-arg>
</bean>
<bean id="cFlowAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
<property name="pointcut">
<ref local="myPointcut"/>
</property>
<property name="advice">
<ref local="advice"/>
</property>
</bean>
If Outer defines:
Code:
public String doSomethingOne(int i) {
return proxiedObject.doSomething1(i);
}
Then
Code:
new Outer(proxiedObject).doSomethingOne(1);
will be advised, but:
Code:
TestBean tb = (TestBean) ctx.getBean("testBean");
String result = tb.doSomething1(10);
won't be.