zoukankan      html  css  js  c++  java
  • spring AOP理解和相关术语

    一、AOP理解

    AOP:横向抽取机制,底层使用代理方式实现。

    示例:

    现有LogDAO接口以及实现Log接口的Log类。类有add的方法,现在要打印add方法的开始时间和结束时间。(即增强Log的add方法)

    1.LogDao接口

    2.Log类(委托类,实现具体的逻辑)

    3.LogProxy类(静态代理类)

    4.LogStaticFactory类(代理工厂)

    通过代理工厂,用户在生成LogDao实例时就不用考虑用Log类还是LogPorxy类

    5.TestAop类(测试类)和结果

    通过创建代理类成功实现了对Log类的add方法增强,但需注意的是代理类必须实现Log类中所有的方法,这样当Log类方法特别多的时候,或者Log类中方法改变的时候就会使代码维护变得困难。这样便需要动态代理。

    二、AOP操作术语

    1.连接点:在类中可以被增强的方法称为链接点。

    2.切入点:在实际操作中被增强的方法称为切入点。

    3.通知/增强:对方法添加新功能,这些新功能叫做增强。

      (1)前置增强:在方法之前执行。

      (2)后置增强:在方法之后执行。

      (3)异常通知:在发生异常时执行。

      (4)最终通知:在后置之后执行。

      (5)环绕通知:既在方法前执行,也在方法后执行。

    4.切面:把增强具体应用到切入点的过程称为切点。

  • 相关阅读:
    线段树节点到底开多大
    HDU4901 The Romantic Hero DP
    VIM 配置文件可执行命令
    codeforces159D
    codeforces416B
    codeforces165C
    codeforces332B
    Node.js权威指南 (9)
    iOS-android-windowsphone等移动终端平台开发流程图
    前端面试题细节问题
  • 原文地址:https://www.cnblogs.com/lolybj/p/6374824.html
Copyright © 2011-2022 走看看