码迷,mamicode.com
首页 > 其他好文 > 详细

4.4 AOP-XML-pointcut配置

时间:2020-11-04 18:45:04      阅读:17      评论:0      收藏:0      [点我收藏+]

标签: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("假发的穿戴技巧");

结果:

技术图片

4.4 AOP-XML-pointcut配置

标签:style   blank   res   classpath   targe   测试   程序   做了   load   

原文地址:https://www.cnblogs.com/jiafa/p/13924155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!