• spring之AOP


    AOP (Aspect Oritented Programming)

    允许将代码插入到方法的调用过程中。

    在不修改类代码的情况下,提供类似拦截器的功能。

    AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面。

    AOP是动态的抽象。对应用执行过程中的步骤进行抽象。能处理程序执行的特定点,而不是具体的程序。

    AOP中的基本概念

    Aspect(切面):业务流程运行的某个特定步骤,也就是应用运行过程中的关注点,关注点可能横切多个对象,所以常常也称为横切关注点。

    Joinpoint(连接点):所谓连接点是指那些被拦截到的点。在Spring中,这些点指的是方法,因为Spring只支持方法类型的连接点,实际上Joinpoint还可以是field或类构造器)。

    Advice(增强处理):AOP框架在特定的切入点执行的增强处理。处理有“around”、“before”、“after”等类型。

    Pointcut(切入点):可以插入增强处理的连接点。即当某个连接点满足指定要求时,该连接点将被添加增强处理,该连接点也就变成了切入点。

    Introduction(引入):在不修改类代码的前提下, 在运行期间动态地添加方法或字段到类中。

    Target(目标对象):被AOP框架进行增强处理的对象,也被称为被增强的对象。

    Weave(织入):将增强处理添加到目标对象中,并创建一个被增强的对象(AOP代理)的过程就是织入。

    Spring切面可以执行一下五种类型的通知:

    • before(前置通知):在一个方法之前执行的通知。

    • after(最终通知):当某连接点退出的时候执行的通知(不论是正常返回还是异常退出)。

    • after-returning(后置通知):在某连接点正常完成后执行的通知。

    • after-throwing(异常通知):在方法抛出异常退出时执行的通知。

    • around(环绕通知):在方法调用前后触发的通知。

  • 相关阅读:
    leetcode_138复制带随机指针的链表
    minSTL
    LLVM
    STL基础_迭代器
    mysql数据库表清空后id如何从1开始自增
    explain用法和结果分析
    MySQL多表查询与子查询
    数据结构与算法笔记
    MySQL数据库的SQL语言与视图
    mysql忘记密码解决方案
  • 原文地址:https://www.cnblogs.com/corolcorona/p/6689944.html
Copyright © 2020-2023  润新知