问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

说说aop中的几个术语,它们是怎么相互工作的

发布网友 发布时间:2022-04-23 14:59

我来回答

1个回答

热心网友 时间:2022-04-14 18:49

1)连接点(Joinpoint)
程序执行的某个特定位置:如类开始初始化前、类初始化后、类某个方法调用前、调用后、方法抛出异常后。一个类或一段程序代码拥有一些具有边界性质的特定点,这些点中的特定点就称为“连接点”。Spring仅支持方法的连接点,即仅能在方法调用前、方法调用后、方法抛出异常时以及方法调用前后这些程序执行点织入增强。连接点由两个信息确定:第一是用方法表示的程序执行点;第二是用相对点表示的方位。

2)切点(Pointcut)
每个程序类都拥有多个连接点,如一个拥有两个方法的类,这两个方法都是连接点,即连接点是程序类中客观存在的事物。AOP通过“切点”定位特定的连接点。连接点相当于数据库中的记录,而切点相当于查询条件。切点和连接点不是一对一的关系,一个切点可以匹配多个连接点。在Spring中,切点通过org.springframework.aop.Pointcut接口进行描述,它使用类和方法作为连接点的查询条件,Spring AOP的规则解析引擎负责切点所设定的查询条件,找到对应的连接点。其实确切地说,不能称之为查询连接点,因为连接点是方法执行前、执行后等包括方位信息的具体程序执行点,而切点只定位到某个方法上,所以如果希望定位到具体连接点上,还需要提供方位信息。

3)增强(Advice)
增强是织入到目标类连接点上的一段程序代码,在Spring中,增强除用于描述一段程序代码外,还拥有另一个和连接点相关的信息,这便是执行点的方位。结合执行点方位信息和切点信息,我们就可以找到特定的连接点。

4)目标对象(Target)
增强逻辑的织入目标类。如果没有AOP,目标业务类需要自己实现所有逻辑,而在AOP的帮助下,目标业务类只实现那些非横切逻辑的程序逻辑,而性能监视和事务管理等这些横切逻辑则可以使用AOP动态织入到特定的连接点上。

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

6)织入(Weaving)
织入是将增强添加对目标类具体连接点上的过程。AOP像一台织布机,将目标类、增强或引介通过AOP这台织布机天衣无缝地编织到一起。根据不同的实现技术,AOP有三种织入的方式:
a、编译期织入,这要求使用特殊的Java编译器。
b、类装载期织入,这要求使用特殊的类装载器。
c、动态代理织入,在运行期为目标类添加增强生成子类的方式。
Spring采用动态代理织入,而AspectJ采用编译期织入和类装载期织入。

7)代理(Proxy)
一个类被AOP织入增强后,就产出了一个结果类,它是融合了原类和增强逻辑的代理类。根据不同的代理方式,代理类既可能是和原类具有相同接口的类,也可能就是原类的子类,所以我们可以采用调用原类相同的方式调用代理类。

8)切面(Aspect)
切面由切点和增强(引介)组成,它既包括了横切逻辑的定义,也包括了连接点的定义,Spring AOP就是负责实施切面的框架,它将切面所定义的横切逻辑织入到切面所指定的连接点中。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 什么QQ游戏免费,或者能赢Q币? spring <aop:pointcut>标签 expression属性如何定义路径 QQ游戏有哪些是免费的?(网络游戏) QQ游戏那些可以免费玩,不包括自带的,要下载的 男士好一点的手表有哪些品牌? QQ游戏哪些是不要钱的? 手表品牌有哪些?想买一款质量好点的男士腕表 excel里如何快速输入直径符号? 在EXCEL中快速输入直径等符号,有什么方法啊? 国有参股企业可以算国企么? 什么是国有资产折价入股 什么叫国有参股企业 国资委对国有资本入股的企业上市新三板有什么要求? 国有企业领导干部是否可在自己企业入股? 国有参股企业算不算私企? 国有控股改为国有参股的最新规定 以国有土地使用权作价入股成立公司的流程 国有企业领导能否入股与自己没有关系的民营企业 国有参股企业算不算国企? 国有资产是否可以入股私营企业? 免费的游戏平台有哪些? spring aop pointcut 表达式求助 男士带什么手表品牌好?显档次? QQ游戏里面什么游戏是免费的 关于aop的问题 男朋友要过生日了,想给他买一款手表。请问中国手表十大名牌中哪些品牌的手表适合送给男友? 什么QQ游戏完全免费? spring aop事务与自定义pointcut冲突,不生效 适合男士戴的手表品牌 噢打错了,spring Aop中advice和pointcut区别在哪啊?一个是增强处理一个是织入点 QQ游戏中免费的游戏 spring Aop中切入点是什么? QQ游戏有多少种啊??要免费的!! 男士手表哪个品牌好?要适合商务佩戴~ 使用spring aop aspect为什么没有被调用 什么QQ游戏是全免费的? 我想买男士手表,买什么牌子的好 qq游戏哪些是免费的 spring 中的<aop:advisor>和<aop:aspect>有什么区别 QQ游戏那些是免费的?