切面编程方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:35564693 阅读:19 留言:0更新日期:2022-11-12 15:48
本发明专利技术实施例提供了一种切面编程方法、装置、电子设备及可读存储介质,应用于切面编程工具,所述切面编程工具中预先封装有若干项切面编程能力,所述方法包括:读取针对应用程序配置的切面配置文件;对所述切面配置文件进行解析,确定针对所述应用程序的切面配置内容以及所述切面配置内容对应的目标切面编程能力;调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述应用程序进行切面编程。本发明专利技术实施例的切面编程工具中封装了若干项的切面编程能力,屏蔽了底层处理切面编程时涉及的字节码层面复杂调用的修改,开发人员可以通过配置的方式调用切面编程工具的切面编程能力,使得切面编程更加简单、便捷、高效。高效。高效。

【技术实现步骤摘要】
切面编程方法、装置、电子设备及可读存储介质


[0001]本专利技术实施例涉及互联网
,特别是涉及一种切面编程方法、一种切面编程装置、一种电子设备以及一种计算机可读存储介质。

技术介绍

[0002]在软件业,切面编程(AOP,Aspect Oriented Programming),意为:面向切面编程,通常也被称为切面等等,具体地,切面编程是通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。
[0003]在现有的技术中,若要实现对应用程序的切面编程,成本较高,是高投入低收益的,这是因为现有的技术若要实现切面编程是偏底层处理,需要面向字节码层面复杂调用的修改,因此对于开发人员来说,学习难度较高,使用不方便,门槛较高,导致切面编程效率低。

技术实现思路

[0004]本专利技术实施例是提供一种切面编程方法、装置、电子设备以及计算机可读存储介质,以解决切面编程效率低的问题。
[0005]本专利技术实施例公开了一种切面编程方法,应用于切面编程工具,所述切面编程工具中预先封装有若干项切面编程能力,所述方法包括:
[0006]读取针对应用程序配置的切面配置文件;
[0007]对所述切面配置文件进行解析,确定针对所述应用程序的切面配置内容以及所述切面配置内容对应的目标切面编程能力;
[0008]调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述应用程序进行切面编程。
[0009]可选地,所述切面编程工具中包括用于接入所述应用程序的入口插件,所述调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述应用程序进行切面编程,包括:
[0010]通过所述入口插件读取所述应用程序的字节码文件;
[0011]调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述字节码文件进行切面编程;
[0012]将完成切面编程后的所述字节码文件写入所述应用程序中。
[0013]可选地,所述切面编程工具预先设置有线程池,所述线程池中包括若干线程,所述调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述字节码文件进行切面编程,包括:
[0014]通过所述线程分别读取所述字节码文件,并调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述字节码文件进行切面编程。
[0015]可选地,所述切面编程能力分别具有对应的处理优先级,在所述对所述切面配置
文件进行解析,确定针对所述应用程序的切面配置内容以及所述切面配置内容对应的目标切面编程能力之后,所述方法包括:
[0016]当所述目标切面编程能力为至少两个时,按照所述目标切面编程能力对应的处理优先级,对所述目标切面编程能力进行排序;
[0017]则所述调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述应用程序进行切面编程,包括:
[0018]按照所述排序依次调用所述切面编程工具中的所述目标切面编程能力,以根据对应的所述切面配置内容对所述应用程序进行切面编程。
[0019]可选地,在所述读取针对应用程序配置的切面配置文件之后,所述方法还包括:
[0020]若对所述切面配置文件解析失败,输出所述切面配置文件配置错误的提示信息。
[0021]可选地,所述入口插件配置于所述切面编程工具的开发者工具包SDK中;
[0022]所述切面编程工具支持多种编译构建系统,所述编译构建系统至少包括以下一种:Gradle和Maven;所述切面编程工具支持的所述切面配置文件的格式至少包括以下一种:JSON、YAML、gradle DSL和注解。
[0023]可选地,所述切面编程能力至少包括以下一种:方法替换、方法体内容置空、方法体内插入指定代码、方法调用删除、对象替换、异常捕获和新增方法。
[0024]本专利技术实施例还公开了一种切面编程装置,应用于切面编程工具,所述切面编程工具中预先封装有若干项切面编程能力,所述装置包括:
[0025]切面配置文件读取模块,用于读取针对应用程序配置的切面配置文件;
[0026]切面配置文件解析模块,用于对所述切面配置文件进行解析,确定针对所述应用程序的切面配置内容以及所述切面配置内容对应的目标切面编程能力;
[0027]切面编程能力调用模块,用于调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述应用程序进行切面编程。
[0028]可选地,所述切面编程工具中包括用于接入所述应用程序的入口插件,所述切面编程能力调用模块,具体用于:
[0029]通过所述入口插件读取所述应用程序的字节码文件;
[0030]调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述字节码文件进行切面编程;
[0031]将完成切面编程后的所述字节码文件写入所述应用程序中。
[0032]可选地,所述切面编程工具预先设置有线程池,所述线程池中包括若干线程,所述切面编程能力调用模块,具体用于:
[0033]通过所述线程分别读取所述字节码文件,并调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述字节码文件进行切面编程。
[0034]可选地,所述切面编程能力分别具有对应的处理优先级,所述这种包括:切面编程能力排序模块,用于:当所述目标切面编程能力为至少两个时,按照所述目标切面编程能力对应的处理优先级,对所述目标切面编程能力进行排序;则所述切面编程能力调用模块,具体用于:按照所述排序依次调用所述切面编程工具中的所述目标切面编程能力,以根据对应的所述切面配置内容对所述应用程序进行切面编程。
[0035]可选地,所述装置还包括:
[0036]配置错误提示模块,用于若对所述切面配置文件解析失败,输出所述切面配置文件配置错误的提示信息。
[0037]可选地,所述入口插件配置于所述切面编程工具的开发者工具包SDK中;所述切面编程工具支持多种编译构建系统,所述编译构建系统至少包括以下一种:Gradle和Maven;所述切面编程工具支持的所述切面配置文件的格式至少包括以下一种:JSON、YAML、gradle DSL和注解。
[0038]可选地,所述切面编程能力至少包括以下一种:方法替换、方法体内容置空、方法体内插入指定代码、方法调用删除、对象替换、异常捕获和新增方法。
[0039]本专利技术实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
[0040]所述存储器,用于存放计算机程序;
[0041]所述处理器,用于执行存储器上所存放的程序时,实现如本专利技术实施例所述的方法。
[0042]本专利技术实施例还公开了一种计算机程序产品,该程序产品被存储在存储介质中,该计算机程序产品被至少一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种切面编程方法,其特征在于,应用于切面编程工具,所述切面编程工具中预先封装有若干项切面编程能力,所述方法包括:读取针对应用程序配置的切面配置文件;对所述切面配置文件进行解析,确定针对所述应用程序的切面配置内容以及所述切面配置内容对应的目标切面编程能力;调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述应用程序进行切面编程。2.根据权利要求1所述的方法,其特征在于,所述切面编程工具中包括用于接入所述应用程序的入口插件,所述调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述应用程序进行切面编程,包括:通过所述入口插件读取所述应用程序的字节码文件;调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述字节码文件进行切面编程;将完成切面编程后的所述字节码文件写入所述应用程序中。3.根据权利要求2所述的方法,其特征在于,所述切面编程工具预先设置有线程池,所述线程池中包括若干线程,所述调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述字节码文件进行切面编程,包括:通过所述线程分别读取所述字节码文件,并调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述字节码文件进行切面编程。4.根据权利要求1所述的方法,其特征在于,所述切面编程能力分别具有对应的处理优先级,在所述对所述切面配置文件进行解析,确定针对所述应用程序的切面配置内容以及所述切面配置内容对应的目标切面编程能力之后,所述方法包括:当所述目标切面编程能力为至少两个时,按照所述目标切面编程能力对应的处理优先级,对所述目标切面编程能力进行排序;则所述调用所述切面编程工具中的所述目标切面编程能力,以根据所述切面配置内容对所述应用程序进行切面编程,包括:按照所述排序依次调用所述切面编程工具中的所述目标切面编程能力,以根据对...

【专利技术属性】
技术研发人员:张万新
申请(专利权)人:五八同城信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1