在使用任何PointCut之前,我们必须先生成一个通知(Advisor),更准确地说是一个PointcutAdvisor
DefaultPointcutAdvisor是用来结合一个PointCut和一个Advice的简单PointcutAdvisor
所谓静态切入点,就是说spring会针对目标上的每一个方法调用一次MethodMatcher的mathces方法,其返回值被缓冲器来以便日后使用,这样,对每一个方法的适用性测试只会进行一次,相对动态的效率比较高,推荐使用
我们有两个类BeanOne和BeanTwo作为Target




























我们想只在BeanOne的foo方法上使用AOP,需如下定义Pointcut































创建环绕通知


















测试代码:


















































运行结果:
before
foo-one
after
bar-one
foo-two
bar-two