Spring创建Advice

本文介绍了如何在Spring中使用AOP技术,首先通过XML Schema配置创建Advice,简化代码并方便应用程序维护。具体步骤包括定义切面、切入点和Advice,如设置<aop:config>、<aop:aspect>、<aop:pointcut>、<aop:before>和<aop:after>标签。接着,文章探讨了基于注解的@AspectJ方式,直接在Java类上标注@Aspect、@Pointcut、@Before和@After,实现相同的功能。
摘要由CSDN通过智能技术生成

基于Xml Schema实现aop技术

   1、简化代码实现

   2、容易对应用程序进行维护

   3、所有元素都定义在<aop:config>标签元素中

  eg:

   <bean id="apbean" class="aspecBean"></bean>

   <bean id="he" class="hello"></bean>

   <!-- 包含多个切面,切入点、advice等标签元素 -->

   <aop:config>

   <!-- 定义一个切面 -->

   <aop:aspect id="ap" ref="apbean">

   <!-- 定义切入点的信息   

        expression是执行表达式

           *:代表匹配任意的返回类

           ():匹配了一个不接受任何参数的方法

           (..):匹配了接受任何参数的方法(一个至多个)

   -->

   <aop:pointcut expression="execution(*.hello.*(..))" id="pc"/>

   <!-- 用于匹配BeforeAdvice -->

   <aop:before method="startLog" pointcut-ref="pc"/>   //开启记录

    <!-- 用于匹配AfterAdvice -->

   <aop:after method="endLog" pointcut-ref="pc"/>     //结束记录

   </aop:aspect>

   </aop:config>

基于Annotation

  以注解的方式对java的普通类进行标注

  @AspectJ采用jdk5.0的注解技术

  eg:

   @Aspect  //声明切面

   public class aspectBean{

      @Pointcut("execution(* hello.*(..))")

      public void log(){}

    

      @Before(value="log()")   //在切入点之前执行

      public void startLog(){

         System.out.println("开始记录!");

      }

 

      @After(value="log()")   //在切入点之后执行

      public void endLog(){

          System.out.println("结束记录!"); 

      }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值