精华内容
下载资源
问答
  • 1、AOP专业术语包括Aspect、Joinpoint、Pointcut、Advice、Target Object、Proxy和Weaving,对于这些专业术语的解释,具体如下: (1)Aspect(切面):在实际应用中,切面通常是指封装的用于横向插入系统功能(如...

    1、AOP的专业术语包括Aspect、Joinpoint、Pointcut、Advice、Target Object、Proxy和Weaving,对于这些专业术语的解释,具体如下:
    (1)Aspect(切面):在实际应用中,切面通常是指封装的用于横向插入系统功能(如事务、日志等)的类,如图3-1中的Aspect。该类要被Spring容器识别为切面,需要在配置文件中通过元素指定。
    (2)Joinpoint(连接点):在程序执行过程中的某个阶段点,它实际上是对象的一个操作,例如方法的调用或异常的抛出。在Spring AOP中,连接点就是指方法的调用。
    (3)Pointcut(切入点):是指切面与程序流程的交叉点,即那些需要处理的连接点,通常在程序中,切入点指的是类或者方法名,如某个通知要应用到所有以add开头的方法中,那么所有满足这一规则的方法都是切入点。
    (4)Advice(通知/增强处理):AOP框架在特定的切入点执行的增强处理,即在定义好的切入点处所要执行的程序代码。可以将其理解为切面类中的方法,它是切面的具体实现。
    (5)Target Object(目标对象):是指所有被通知的对象,也被称为被增强对象。如果AOP框架采用的是动态的AOP实现,那么该对象就是一个被代理对象。
    (6)Proxy(代理):将通知应用到目标对象之后,被动态创建的对象。
    (7)Weaving(织入):将切面代码插入到目标对象上,从而生成代理对象的过程。
    
    2、Spring中的通知按照在目标类方法的连接点位置,可以分为以下5种类型:
    (1)org.aopalliance.intercept.MethodInterceptor(环绕通知)
    在目标方法执行前后实施增强,可以应用于日志、事务管理等功能。
    (2)org.springframework.aop.MethodBeforeAdvice(前置通知)
    在目标方法执行前实施增强,可以应用于权限管理等功能。
    (3)org.springframework.aop.AfterReturningAdvice(后置通知)
    在目标方法执行后实施增强,可以应用于关闭流、上传文件、删除临时文件等功能。
    (4)org.springframework.aop.ThrowsAdvice(异常通知)
    在方法抛出异常后实施增强,可以应用于处理异常记录日志等功能。
    (5)org.springframework.aop.IntroductionInterceptor(引介通知)
    在目标类中添加一些新的方法和属性,可以应用于修改老版本程序(增强类)

    展开全文
  • 这样,即使一个业务类原本没有实现某个接口,通过AOP的引介功能,我们可以动态的为该业务类添加接口的实现逻辑,让业务类成为这个接口的实现类。 六、织入 织入就是将通知添加到目标类具体连接点上的过程。 ...

    一、 连接点(Joinpoint)

    连接点就是程序执行的某个特定的位置,如:类开始初始化前、类初始化后、类的某个方法调用前、类的某个方法调用后、方法抛出异常后等。
    Spring 只支持类的方法前、后、抛出异常后的连接点。

    二、 切点(Pointcut)

    一个项目中有很多的类,一个类有很多个连接点,当我们需要在某个方法前插入一段通知(advice)代码时,我们就需要使用切点信息来确定,要在哪些连接点上添加通知。
    那么切点是什么?
    如果把连接点当做数据库中的记录,那么切点就是查找该记录的查询条件。
    所以,一般我们要实现一个切点时,那么我们需要判断哪些连接点是符合我们的条件的,如:方法名是否匹配、类是否是某个类、以及子类等。

    三、通知(Advice)

    通知就很好理解了,AOP(切面编程)是用来给某一类特殊的连接点,添加一些特殊的功能,那么我们添加的功能也就是通知啦~
    比如:添加日志、管理事务。
    不过通知不仅仅包含需要增加的功能代码而已,它还包含了方位信息。
    那什么是方位信息呢?
    方位信息就是相对于方法的位置信息,如:方法前、方法后、方法环绕
    为什么要方位信息呢?切点不是确定了需要通知的位置了吗?
    切点定位的是“在什么类的什么方法上”,也就是说,切点只是定位到了方法本身(也叫执行点,特殊的连接点),但是我们通知的内容是放在该方法的前面呢、后面呢?还是前后都要呢?这些切点却没有告诉我们,那么我们该如何确定具体位置呢?
    所以,我们才需要用到方位信息,进一步的定位到具体的通知代码放置的位置。

    咦?通知即包含了【功能】又包含了【方位】,那我是不是不用切点就可以匹配哪些方法,并添加功能了呢?
    恩,确实如此,因为通过方位信息,虽然只是简单的描述了【功能】需要放在方法前、后、还是前后都要等信息,但是我们还是可以通过方位定位到位置。只不过,是匹配到所有类的所有方法!因为方位只是说明在方法前还是方法后,并没有要求是哪些类?哪些方法? — So,我们可以直接使用通知来生成一个切面,而不需要切点,但这并不怎么推荐,因为它是匹配所有方法的。所以,我们才需要用切点来进一步确认位置。

    四、目标对象(Target)

    目标对象就是我们需要对它进行通知的业务类~
    如果没有AOP,那么该业务类就得自己实现需要的功能。

    五、引介

    引介是一种特殊的通知。
    它为类添加一些属性和方法。这样,即使一个业务类原本没有实现某个接口,通过AOP的引介功能,我们可以动态的为该业务类添加接口的实现逻辑,让业务类成为这个接口的实现类。

    六、织入

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

    编译期织入,这要求使用特殊java编译器
    类装载期织入,这要求使用特殊的类装载器
    动态代理织入,在运行期为目标类添加通知生成子类的方式
    Spring采用的是动态代理织入,而AspectJ采用编译期织入和类装载期织入。
    七、代理

    一个类被AOP织入后生成出了一个结果类,它是融合了原类和通知逻辑的代理类。

    八、切面

    切面由切点和通知(或引介)组成,或者只由通知(或引介)实现。

    展开全文
  • spring aop 专业术语解释

    千次阅读 2019-05-29 08:53:51
    最近在学习spring aop时,碰到一些专业术语,总是理解不了,在网上找了很多都是解释得比通俗,后来在终于在这个文单使我对这些专业术语明白。 https://blog.csdn.net/qukaiwei/article/details/50367761 源地址:...

    最近在学习spring aop时,碰到一些专业术语,总是理解不了,在网上找了很多都是解释得比通俗,后来在终于在这个文单使我对这些专业术语明白。

    https://blog.csdn.net/qukaiwei/article/details/50367761

    源地址:http://www.verydemo.com/demo_c143_i20837.html

    展开全文
  • Spring AOP专业术语解析

    2019-10-04 10:59:39
    这样,即使一个业务类原本没有实现某个接口,通过AOP的引介功能,我们可以动态的为该业务类添加接口的实现逻辑,让业务类成为这个接口的实现类。 六、织入 织入就是将增强添加到目标类具体连接点上的过程。 ...
    一、 连接点(Joinpoint)

    连接点就是程序执行的某个特定的位置,如:类开始初始化前、类初始化后、类的某个方法调用前、类的某个方法调用后、方法抛出异常后等。
    Spring 只支持类的方法前、后、抛出异常后的连接点。

    二、 切点(Pointcut)

    一个项目中有很多的类,一个类有很多个连接点,当我们需要在某个方法前插入一段增强(advice)代码时,我们就需要使用切点信息来确定,要在哪些连接点上添加增强。
    那么切点是什么?
    如果把连接点当做数据库中的记录,那么切点就是查找该记录的查询条件。
    所以,一般我们要实现一个切点时,那么我们需要判断哪些连接点是符合我们的条件的,如:方法名是否匹配、类是否是某个类、以及子类等。

    三、增强(Advice)

    增强就很好理解了,AOP(切面编程)是用来给某一类特殊的连接点,添加一些特殊的功能,那么我们添加的功能也就是增强啦~
    比如:添加日志、管理事务。
    不过增强不仅仅包含需要增加的功能代码而已,它还包含了方位信息。
    那什么是方位信息呢?
    方位信息就是相对于方法的位置信息,如:方法前、方法后、方法环绕
    为什么要方位信息呢?切点不是确定了需要增强的位置了吗?
    切点定位的是“在什么类的什么方法上”,也就是说,切点只是定位到了方法本身(也叫执行点,特殊的连接点),但是我们增强的内容是放在该方法的前面呢、后面呢?还是前后都要呢?这些切点却没有告诉我们,那么我们该如何确定具体位置呢?
    所以,我们才需要用到方位信息,进一步的定位到具体的增强代码放置的位置。

    咦?增强即包含了【功能】又包含了【方位】,那我是不是不用切点就可以匹配哪些方法,并添加功能了呢?
    恩,确实如此,因为通过方位信息,虽然只是简单的描述了【功能】需要放在方法前、后、还是前后都要等信息,但是我们还是可以通过方位定位到位置。只不过,是匹配到所有类的所有方法!因为方位只是说明在方法前还是方法后,并没有要求是哪些类?哪些方法? — So,我们可以直接使用增强来生成一个切面,而不需要切点,但这并不怎么推荐,因为它是匹配所有方法的。所以,我们才需要用切点来进一步确认位置。

    四、目标对象(Target)

    目标对象就是我们需要对它进行增强的业务类~
    如果没有AOP,那么该业务类就得自己实现需要的功能。

    五、引介

    引介是一种特殊的增强。
    它为类添加一些属性和方法。这样,即使一个业务类原本没有实现某个接口,通过AOP的引介功能,我们可以动态的为该业务类添加接口的实现逻辑,让业务类成为这个接口的实现类。

    六、织入

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

    1. 编译期织入,这要求使用特殊java编译器
    2. 类装载期织入,这要求使用特殊的类装载器
    3. 动态代理织入,在运行期为目标类添加增强生成子类的方式
      Spring采用的是动态代理织入,而AspectJ采用编译期织入和类装载期织入。
    七、代理

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

    八、切面

    切面由切点和增强(或引介)组成,或者只由增强(或引介)实现。

    转载于:https://www.cnblogs.com/JamKong/p/5950756.html

    展开全文
  • AOP中的专业术语介绍

    千次阅读 2020-06-14 20:44:26
    一、AOP简介 AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) 的补充。 AOP 的主要编程对象是切面(aspect), 而切面是把横切关注点...
  • AOP:(Aspect Oriented Programming)面向切面编程; OOP:(Object Oriented Programming )面向对象编程; 面向切面编程:基于OOP基础之上新的编程思想; 指在程序运行期间,将某段代码动态的切入到指定方法的...
  • Spring AOP专业术语

    2020-04-26 21:41:14
  • AOP 的一些专业术语

    千次阅读 2018-07-01 15:58:56
    记录 AOP 的一些专业术语(非 Spring 专属): 切面(Aspect) 就是交叉在各个业务逻辑中的系统服务,类似于安全验证,事务处理,日志记录都可以理解为切面 织入(weaving) 就是将切面代码插入到目标对象某个方法的过程,...
  • 一、看图: 解释: 先定义一个Caluator接口,并有四个功能分别是计算两位参数的加、减、乘、除;而每个方法都定义了(方法的开始、方法的返回、方法的异常、方法的结束)的日志记录功能。 1、切面类: ...
  • AOP概念和7个专业术语

    2019-11-25 11:31:43
     初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础...
  • 如果没有AOP,目标业务类需要自己实现所有逻辑,而在AOP的帮助下,目标业务类只实现那些非横切逻辑的程序逻辑,而性能监视和事务管理等这些横切逻辑则可以使用AOP动态织入到特定的连接点上。 5)引介...
  • 术语: 返回类型可以省略,用空格来表示 用两个点表示参数列表 例子 一个完整的AOP的例子 切面中表示使用loggerAspect的log方法来增强功能 ,是环绕通知(表示在前后分别都增强了) 其代码如下: 其中方法如下:...
  • AOP 术语

    2018-09-14 21:37:28
    Joinpoint(连接点): 所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持方法类型的 连接点。 Pointcut(切入点): ...所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义。...
  • AOP相关术语

    2017-09-01 09:13:15
    指的是需要被增强的对象,由于spring aop是通过代理模式实现,从而这个对象永远是被代理对象。 2、连接点(join point) 所谓连接点是指那些被拦截到的点,在spring中这些点指的是方法,因为spring只支持方法类型的...
  • AOP是我们在做项目拓展时,时常用到的技术点,这也是我们面向切面编程的核心所在,AOP的使用还是很方便的,但里面的细节往往会被忽略,即六个专业术语的使用位置,今天小编为大家分享一下,aop的6个专业术语的使用...
  • Spring AOP专业术语定义

    2017-05-13 11:03:35
    这样,即使一个业务类原本没有实现某个接口,通过AOP的引介功能,我们可以动态的为该业务类添加接口的实现逻辑,让业务类成为这个接口的实现类。 六、织入(Weaving) 织入就是将增强添加到目标类具体连接...
  • 第三章 Spring AOP

    千次阅读 2020-05-21 11:59:26
    1、下列有关AOP专业术语中,用于表示切面与程序流程的交叉点的是()。 A、Joinpoint B、Pointcut C、Aspect D、Advice 参考答案 :BD 2、以下有关CGLIB代理相关说法正确的是(‘D’)。 A、CGLIB代理的使用非常简单...
  • AOP中的一些术语

    2021-05-13 18:36:44
    1.aop 中的一些术语 Joinpoint( 连接点):所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持方法类型的连接点。 Pointcut( 切入点):所谓切入点是指我们要对哪些 Joinpoint 进行...
  • Proxy(代理): 一个类被AOP织入增强后,就产生一个结果代理类。(代理对象) Aspect(切面): 切面是切入点和通知(引介)的结合。 (通俗理解:建立切入点方法和通知方法在执行调用的对应关系就是切面)
  • AOP术语的介绍

    2018-12-09 19:27:52
    AOP术语介绍: 1、横切关注点 对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点 2、切面(aspect) 类是对物体特征的抽象,切面就是对横切关注点的抽象 3、连接点(joinpoint) 被拦截到的...
  • AOP 专业术语 小结

    2012-11-13 14:30:56
    AOP常用专业术语:  ① 方面(Aspect):一个关注点的模块化,这个关注点实现可能另外横切多个对象。事务管理是J2EE应用中一个很好的横切关注点例子。方面用Spring的Advisor或拦截器实现。 (比如项目中持久化,...
  • 术语 Advice 增强/通知 表示需要扩展的功能。 JoinPoint 连接点 表示允许使用增强的地方。基本每个方法的前、后或异常等都是连接点。 Pointcut 切入点 表示实际增强的方法。 Aspect 切面 表示扩展功能的过程。 ...
  • 1.AOP概念: AOP面向切面编程,横切关注点2.AOP专业术语切点:主业务类中能匹配到切点表达式的方法切面:通知和切点的集合 交叉业务类称为切面连接点:主业务类中的方法通知:增强类中的方法织入:动态的过程,将...
  • AOP 相关术语

    2019-11-24 17:33:34
    Joinpoint(连接点): 所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持...一个类被 AOP 织入增强后,就产生一个结果代理类。 Aspect(切面): 是切入点和通知(引介)的结合。
  • aop概念和7个专业术语

    2019-09-27 04:58:30
    1.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和我说aop多难多难。当我看进去以后,我才发现:它...
  • ·连接点(Joinpoint):程序...·AOP联盟:众多开源AOP项目的联合组织,该组织定义了一套规范描述AOP标准。现在大部分的AOP实现都是使用AOP实现的标准。 转载于:https://my.oschina.net/u/4107179/blog/3030066

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,103
精华内容 841
关键字:

aop专业术语