如果有这样的需求:我们对一个方法进行切入通知,但只有这个方法在一个特定方法中被调用的时候执行通知,我们可以使用ControlFlowPointCut流程切入点
BeanOne.java














SimpleAdvise


















测试代码:


















































测试结果:
foo-one
before
foo-one
after
可以看到直接执行foo没有进行切入,而通过runfoo方法执行foo就进行了切入
使用流程切入点可以解决不少问题,但值得注意的是,使用流程切入点在jdk1.4中比其他切入点要慢5倍,在1.3上则要慢10倍,追求高性能的要慎重使用