• aop理解


    1.切面(Aspects)常常通过通知(advice)、切点(pointcuts)和织入点(join points)来描述

    2.通知(advice)有5种

    • Before——前置通知,在调用目标方法之前执行通知定义的任务;
    • After——后置通知,在目标方法执行结束后,无论执行结果如何都执行通知定义的任务;
    • After-returning——后置通知,在目标方法执行结束后,如果执行成功,则执行通知定义的任务;
    • After-throwing——异常通知,如果目标方法执行过程中抛出异常,则执行通知定义的任务;
    • Around——环绕通知,在目标方法执行前和执行后,都需要执行通知定义的任务。



    3.织入点

    在应用中可能有很多个机会可以应用通知,这些机会就叫做织入点

    织入点可能是正在调用的方法、正在抛出的异常或者是正在被修改的属性。

    4.切点

    如果说通知是定义了切面的whatwhen这两个方面,那么切点就定义了where。切点指定一个或者多个织入点,而通知可以通过切点接入。通常情况下可以使用明确的类名和函数名或者定义了匹配模式的正则表达式来定义切点;还有一些AOP框架支持定义动态切点(dynamic pointcuts),可以在运行时根据函数参数值决定是否应用通知。


    INTRODUCTIONS

    你可以通过introduction给现有的类增加方法或者属性。例如,可以定义一个通知类Auditable,用于保存某个对象被修改前的上一个状态——定义一个局部变量来保存这个状态,然后使用setLastModified(Date)方法设置状态。类似于设计模式中的装饰者模式——在不改变现有类的基础上为之增加属性和方法。

  • 相关阅读:
    题解 [CF891C] Envy
    题解 [BZOJ4710] 分特产
    题解 [BZOJ2159] Crash的文明世界
    题解 [BZOJ4144] Petrol
    #leetcode刷题之路1-两数之和
    week 7 文件操作与模板
    coursera 北京大学 程序设计与算法 专项课程 STL week8 list
    coursera 北京大学 程序设计与算法 专项课程 完美覆盖
    JSTL标签库不起作用的解决方案 .(转)
    javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext解决办法(转)
  • 原文地址:https://www.cnblogs.com/longsanshi/p/8359635.html
Copyright © 2020-2023  润新知