标签:style blank res classpath targe 测试 程序 做了 load
戴着假发的程序员出品 抖音ID:戴着假发的程序员 欢迎关注
[查看视频教程]
在这里提前说明一下,切入点的表达式配置在注解方式中已经做了详细讲解,
在注解的方式我们可以使用内联的方式进行切入点的配置,也可以使用@pointcut进行切入点声明,方便重复使用。
在XML配置中同样可以使用内联的方式进行配置:
例如:
这个方式就是我们Helloworld程序中使用的方式。
我们也可以在XML申明切入点,方便重复使用:
案例:
我们在Aspect中在添加一个方法:
1 /** 2 * @author 戴着假发的程序员 3 * @company http://www.boxuewa.com 4 * @description 5 */ 6 public class DkAspect { 7 //前置通知 8 public void before(){ 9 System.out.println("前置通知"); 10 } 11 //其他通知 12 public void otherBefore(){ 13 System.out.println("其他前置通知"); 14 } 15 }
配置修改如下:
1 <!-- AOP配置 --> 2 <aop:config> 3 <!-- 申明AspectBean,引用我们注册的dkAspect --> 4 <aop:aspect id="aspect" ref="dkAspcet"> 5 <!-- 声明一个切入点,命名为pointcut1 --> 6 <aop:pointcut id="pointcut1" 7 expression="execution(* com.st.beans..*.*(..))"/> 8 <!--配置两个前置通知,利用pointcut-ref引用上面申明的切入点--> 9 <aop:before method="before" pointcut-ref="pointcut1"/> 10 <aop:before method="otherBefore" pointcut-ref="pointcut1"/> 11 </aop:aspect> 12 </aop:config>
我们可以使用aop:pointcut标签申明一个切入点。然后在aop:before中使用pointcut-ref引用前面申明的切入点。
测试:
1 ApplicationContext ac = 2 new ClassPathXmlApplicationContext("applicationContext-demo9.xml"); 3 MessageBean bean = ac.getBean(MessageBean.class); 4 bean.printMessage("假发的穿戴技巧");
结果:
标签:style blank res classpath targe 测试 程序 做了 load
原文地址:https://www.cnblogs.com/jiafa/p/13924155.html