zoukankan      html  css  js  c++  java
  • AOP的专业术语

    1.连接点(Joinpoint)

    特定点是程序执行的某个特定位置,如类开始初始化前、类初始化后、类的某个方法调用前/后、方法抛出异常后。一个类或者一段程序代码拥有一些具有边界性质的特定点,这些特定点就称为 ”连接点“ 。

    Spring 仅支持方法的连接点,即仅能在方法调用前、方法调用后、方法抛出异常时、方法调用前后这些程序点织入增强。

    2.切点(Pointcut)

    每个程序类都有多个连接点,如一个类拥有两个方法,这两个方法都是连接点。而在众多个连接点中,如何定位某些感兴趣的连接点呢? AOP 就是用过 “切点” 定位特定连接点。

    打个比方,连接点相当于数据库中的记录,而切点就相当于的查询条件;一个切点可以匹配多个连接点。

    在 Spring 中,切点通过 org.springframework.aop.Pontcut 接口进行扫描,使用类和方法作为连接点的查询条件。

    3.增强(Advice)

    增强是织入目标类连接点上的一段程序代码。也就是在切点上增加的业务逻辑代码。

    4.目标对象(Target)

    增强逻辑的织入目标类。

    5.引介(Introduction)

    引介是一种特殊的增强,它为类添加一些属性和方法。

    6.织入(Weaving)

    织入是将增强添加到目标类的具体连接点上的过程。

    7.代理(Proxy)

    一个类被 AOP 织入增强后,就产生了一个结果类。它是融合了原类和增强逻辑的代理类。

    8.切面(Aspect)

    切面由切点和增强(引介)组成,它既包括横切逻辑的定义,也包括连接点的定义。

    Spring AOP 就是负责实施切面的框架,它将切面所定义的横切逻辑织入切面所指定连接点中。


    AOP 的工作重心在于如何将增强应用于目标对象的连接点上。这里包括两项工作:

    1. 如何通过切点和增强定位到连接点上;
    2. 如何在增强中编写切面的代码
  • 相关阅读:
    Redis源代码分析(十三)--- redis-benchmark性能測试
    kvm中运行kvm
    umount.nfs device busy day virsh extend diskSpace, attachDisk
    ultravnc
    openNebula dubug
    maintenance ShellScripts
    virsh VMI deploy data serial xml
    cloud computing platform,virtual authentication encryption
    基于C 的libvirt 接口调用
    storage theory
  • 原文地址:https://www.cnblogs.com/luler/p/14987266.html
Copyright © 2011-2022 走看看