Spring核心二:AOP XML配置实现

AOP概念:面向切面(方面、过程)编程,扩展程序不用修改源代码,而是做配置

      AOP是个横向采取机制,取代了传统的纵向机制

  传统方式和纵向抽取机制

    

 

 

AOP的横向抽取机制原理:动态代理

  

 

 

 

 AOP专业术语:

  Joinpoint(连接点):类里可以被增强的方法,这些方法被整成为连接点

  Pointcut(切入点(重点)):类里有很多方法都可以被增强,但实际上真正被增强了的方法被称为切入点,比如UserDao类中有很多方法,但只增强了添加和删除方法,那么这两个方法被称为切入点

  Advice(通知/增强(重点))要增强的功能或逻辑,被称为增强

    通知分为:

      前置通知:在方法执行之前执行

      后置通知:在方法执行之后执行

      异常通知:发生异常时执行

      最终通知:在后置通知之后执行

      环绕通知:在方法执行之前和之后都执行

    Aspect(切面(重点)):把增强,应用到具体方面上,这个过程被称为切面

还有引介、目标对象、织入、代理。

 

 

在Spring中要使用AOP,要用AspectJ框架实现

  AspectJ不是Spring的一部分,但要配合使用才能用Spring的AOP

  Spring2.0加强了对AspectJ的相关操作

 

要使用Spring的AOP操作必须先依赖AOP的相关jar

 

 

AOP的配置:
  导入AOP约束

表达式的形式配置切入点(要增强的方法):

(1)增强Book类中的add方法,*:表示所有修饰范围,public、private等  ..:如果里面有参数也包含

还有种方式:execution(* abc*(..)) :表示所有方法里abc开头的方法会被增强

 

使用AspectJ做AOP在xml中的配置:

 

 

 

 先在bean中实例化配置被增强类和增强类

然后配置切入点:用表达式的方式表示配置的是book类中的add方法,并起别名

然后配置切面:引用上文已实例化的的增强类,在切面里设置AOP的通知类型(前置、后置、最终等),最后配置要被增强的方法,即引用pointcut1

 

单独演示下环绕执行(比较特别)

XML中的配置;

 

posted @ 2017-09-17 13:34  猴子1  阅读(266)  评论(0编辑  收藏  举报