分享好友 最新资讯首页 最新资讯分类 切换频道
郑州网站设计制作/百度指数关键词搜索趋势
2024-12-29 03:31

AOP就是面向切面编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。

郑州网站设计制作/百度指数关键词搜索趋势

将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。

可能这样说大家不是理解的很明白,那么请看下面的代码。

假设有一个业务组件Component,其中有3个业务方法:

现在有一个需求,在不改动业务逻辑代码的情况下,在每个业务方法执行前都必须执行一个用户验证,如下:

在这个情况下我们就用到了AOP。
AOP有如两种实现方式
1.静态代理
2.动态代理

特点
①程序中调用执行的是代理对象,构造代理对象时给它一个被代理对象
②代理对象代替真正的对象来执行其方法,并在执行过程中添加额外的职责
③代理对象的一个接口只服务于一种类型的对象,如果代理的方法很多,势必要为每种方法进行代理。

1.将Component 的业务逻辑拿出来创建一个接口

2.实现代理对象,这个实现了业务逻辑接口

3.测试函数

特点:使用动态代理可以使得一个处理者(Handler)服务于各个对象

通过实现InvocationHandler接口实现动态代理

测试函数

使用代理对象将日志等与业务逻辑无关的动作或任务提取出来,设计成为一个服务对象称为Aspect,将上述这些与业务逻辑无关的动作在AOP中称之为Cross-cutting concern

Aspect
散落于各个业务逻辑之中的Cross-cutting concerns收集起来,设计成为独立可重用的对象,称为Aspect。

Advice
Aspect当中对Cross-cutting concerns的具体实现称为Advice

Jointpoint
Advice在应用程序执行时加入业务流程的点或时机(只支持方法的Jointpoint

Pointcut
Pointcut定义了感兴趣的Jointpoint,当调用的方法符合Pointcut表达式时,将Advice织入到应用程序中。

Target
被代理的对象(一个Advice被应用的对象)

Introduction
可以为某个已编写或编译完的类,在执行时期动态加入一些方法

Weave
Advice被应用到Target上的过程,不同时间点(Compile、Classload、Runtime

由于Weave到Target的时机不同,Spring提供了几种不同的Advices(Before Advice、After Advice 、Around Advice、Throw Advice

例如:beforeadvice可通过实现MethodBeforeAdvice接口实现

便可在执行icom.business1();之前调用用户验证

其余advice也是一样

在Spring2.0中,可以使用标签来定义After Returning Advice,不用实现AfterReturningAdvice接口,此文不在描述,想学习者自行找资料学习。(需要架包 aspectjweaver.jar、asm-.jar、asm-commons-.jar

最新文章
百克生物涨0.04%,成交额6524.72万元,近5日主力净流入-3142.79万
12月16日,涨0.04%,成交额6524.72万元,换手率0.58%,总市值112.14亿元。根据AI大模型测算百克生物后市走势。短期趋势看,连续3
辽阳百度爱采购运营公司
百度爱采购这个平台怎么样?与百度竞价的区别是什么? 浅谈:百度爱采购这个平台怎么样?与百度竞价的区别是什么?百度爱采购是
百度网站递交_实现网站95%收录的提交方案
网站从上线开始,对于站长而言要做的绝不是坐以待毙,静静等待收录。尤其是那些没有任何资源可以进行引流,吸
神马股份,神马股份股吧东方财富网
苦。根据查询南通神马电力股份有限公司相关资料得知,南通神马电力股份有限公司一线员工上班苦,因为需要倒班12小时与一线生产保
巨量引擎的信息流广告怎么投放的?
1、为什么抖音巨量引擎信息流广告受欢迎?抖音巨量引擎信息流广告可以将广告与产品完全融为一体,全屏展示无干扰,发布的信息得够
武汉论坛东湖社区/网络优化seo
常用语音编码的WAVE文件头格式剖析   WAVE文件头作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是
如何选择适合自己的100款有色行情软件APP-:分析各类软件功能与用户需求
在当今的有色金属市场中,行情软件的选择变得尤为重要。随着科技的发展和市场需求的提升,越来越多的有色行情软件应用涌现,为投
用什么l软件做网站了/天津百度推广电话号码
备份策略 ============== svn备份一般采用三种方式: 1)
消费金融逾期联系单位
小编导语在现代社会中,消费金融的快速发展为人们提供了更多的消费选择和便利。随着消费金融产品的普及,逾期现象也日益严重。逾
班级优化大师手机版2024智能管理班级上传App
班级优化大师安卓版2024是一款智能管理班级实用工具类型软件,专为教师打造的一款智能班级管理工具,也是各大名师都在使用的工具