本发明专利技术实施例提供了一种方法服务的调用方法、装置、设备及存储介质,该方法包括:获取用户定义的接口类,获取对所述接口类配置的低代码平台注解;所述低代码平台注解包括对所述接口类中的方法服务配置的注解,所述方法服务包括RPC服务和/或本地方法服务;接收客户端的访问请求,确定与所述访问请求对应的目标接口类;生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器;所述方法拦截器用于调用所述低代码平台注解标识的方法服务;通过执行所述方法拦截器,执行所述代理方法。代理方法。代理方法。
【技术实现步骤摘要】
一种方法服务的调用方法、装置、设备及存储介质
[0001]本专利技术涉及方法服务的调用技术,尤其涉及一种方法服务的调用方法、装置、电子设备及计算机存储介质。
技术介绍
[0002]目前,在开发Java Web项目时,为了使代码的结构更加清楚,可读性更强,项目分工更加明确,开发人员会进行分层开发,按照职责一般可以分为四层,分别是域模型层、数据库访问层、业务逻辑层和业务层。每一个应用层都有其独特的职责,不能将各自的功能与其它层次相混合。同时,每一个应用层都应该和其它层隔离开来,但允许使用接口在层间进行通信。其中,最核心的是业务逻辑层,业务逻辑层不仅需要处理复杂的业务逻辑,同时也需要处理对远程过程服务的调用和本地方法服务的调用,因此,在开发业务逻辑层时相较于其它三个层级更加复杂,对于代码的实现复杂度和质量要求也更高。
[0003]但是在开发业务逻辑层时,如果需要加入一个新功能,都需要开发人员编写大量的代码,即使加入的新功能中包含项目中已经调用过的远程过程服务,仍需要编写大量的代码进行组装调试,导致开发效率较低。除此之外,在一个项目中需要多个开发人员共同开发,但由于每个开发人员的开发习惯不同,则对于调用远程过程服务进行封装的公共方法缺乏统一的编码规范,导致代码的可读性差,也会降低开发的效率。因此,如何降低开发项目时的复杂度,提高项目的开发效率是亟待解决的技术问题。
技术实现思路
[0004]本专利技术实施例提供了一种方法服务的调用方法、装置、电子设备及计算机存储介质。
[0005]本专利技术提供了一种方法服务的调用方法,所述方法包括:
[0006]获取用户定义的接口类,获取对所述接口类配置的低代码平台注解;所述低代码平台注解包括对所述接口类中的方法服务配置的注解,所述方法服务包括远程过程调用RPC(Remote Procedure Call,RPC)服务和/或本地方法服务;
[0007]接收客户端的访问请求,确定与所述访问请求对应的目标接口类;
[0008]生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器;所述方法拦截器用于调用所述低代码平台注解标识的方法服务;通过执行所述方法拦截器,执行所述代理方法。
[0009]上述方案中,所述通过执行所述方法拦截器,执行所述代理方法,包括:
[0010]执行所述方法拦截器,在得到调用所述方法服务的结果的情况下,执行所述代理方法;在没有得到调用所述方法服务的结果的情况下,终止执行所述代理方法。
[0011]上述方案中,所述对所述接口类配置的低代码平台注解还包括以下至少一项:
[0012]对所述接口类中管理线程调度的方法配置的注解、对所述接口类中管理日志的方法配置的注解、对所述接口类中管理缓存的方法配置的注解。
[0013]上述方案中,所述方法拦截器还用于调用以下至少一种方法:
[0014]所述低代码平台注解标识的管理线程调度的方法、所述低代码平台注解标识的管理日志的方法、所述低代码平台注解标识的管理缓存的方法。
[0015]上述方案中,所述生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器,包括:
[0016]基于代码生成库(Code Generation Library,CGLIB)生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器。
[0017]本专利技术实施例还提供了一种方法服务的调用装置,所述装置至少包括:
[0018]获取模块,用于获取用户定义的接口类,获取对所述接口类配置的低代码平台注解;所述低代码平台注解包括对所述接口类中的方法服务配置的注解,所述方法服务包括RPC服务和/或本地方法服务;
[0019]确定模块,用于接收客户端的访问请求,确定与所述访问请求对应的目标接口类;
[0020]生成模块,用于生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器;所述方法拦截器用于调用所述低代码平台注解标识的方法服务;
[0021]执行模块,用于通过执行所述方法拦截器,执行所述代理方法。
[0022]在一种实现方式中,所述执行模块,用于通过执行所述方法拦截器,执行所述代理方法;其中,
[0023]用于执行所述方法拦截器,在得到调用所述方法服务的结果的情况下,执行所述代理方法;在没有得到调用所述方法服务的结果的情况下,终止执行所述代理方法。
[0024]在一种实现方式中,所述对所述接口类配置的低代码平台注解还包括以下至少一项:
[0025]对所述接口类中管理线程调度的方法配置的注解、对所述接口类中管理日志的方法配置的注解、对所述接口类中管理缓存的方法配置的注解。
[0026]在一种实现方式中,所述方法拦截器还用于调用以下至少一种方法:
[0027]所述低代码平台注解标识的管理线程调度的方法、所述低代码平台注解标识的管理日志的方法、所述低代码平台注解标识的管理缓存的方法。
[0028]在一种实现方式中,所述生成模块用于生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器;其中,
[0029]用于基于CGLIB生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器。
[0030]本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种方法服务的调用方法。
[0031]本专利技术实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种方法服务的调用方法。
[0032]基于本专利技术实施例提供的一种方法服务的调用方法、装置、电子设备及计算机存储介质,获取用户定义的接口类,获取对所述接口类配置的低代码平台注解;所述低代码平台注解包括对所述接口类中的方法服务配置的注解,所述方法服务包括RPC服务和/或本地方法服务;接收客户端的访问请求,确定与所述访问请求对应的目标接口类;生成所述目标
接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器;所述方法拦截器用于调用所述低代码平台注解标识的方法服务;通过执行所述方法拦截器,执行所述代理方法。
[0033]可以看出,本专利技术实施例对接口类配置低代码平台注解,其中,低代码平台注解包括对接口类中的方法服务配置的注解,从而实现对调用方法服务进行封装的公共方法的统一编码规范,提高了代码的可读性。并且生成访问请求对应的目标接口类的动态代理类,以及动态代理类的代理方法关联的方法拦截器,通过在方法拦截器中调用低代码平台注解标识的方法服务,实现当需要在项目中添加已经调用过的方法服务时,仅需要在方法拦截器中再调用对应的低代码平台注解标识的方法服务即可,从而降低了开发项目的复杂度,提高了项目的开发效率。
[0034]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种方法服务的调用方法,其特征在于,包括:获取用户定义的接口类,获取对所述接口类配置的低代码平台注解;所述低代码平台注解包括对所述接口类中的方法服务配置的注解,所述方法服务包括远程过程调用服务和/或本地方法服务;接收客户端的访问请求,确定与所述访问请求对应的目标接口类;生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器;所述方法拦截器用于调用所述低代码平台注解标识的方法服务;通过执行所述方法拦截器,执行所述代理方法。2.根据权利要求1所述的方法,其特征在于,所述通过执行所述方法拦截器,执行所述代理方法,包括:执行所述方法拦截器,在得到调用所述方法服务的结果的情况下,执行所述代理方法;在没有得到调用所述方法服务的结果的情况下,终止执行所述代理方法。3.根据权利要求1所述的方法,其特征在于,所述对所述接口类配置的低代码平台注解还包括以下至少一项:对所述接口类中管理线程调度的方法配置的注解、对所述接口类中管理日志的方法配置的注解、对所述接口类中管理缓存的方法配置的注解。4.根据权利要求3所述的方法,其特征在于,所述方法拦截器还用于调用以下至少一种方法:所述低代码平台注解标识的管理线程调度的方法、所述低代码平台注解标识的管理日志的方法、所述低代码平台注解标识的管理缓存的方法。5.根据权利要求1所述的方法,其特征在于,所述生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器,包括:基于代码生成库生成所述目标接口类的动态代理类和所述动态代理类的代理方法关联的方法拦截器。6.一种方法服务的调用装置,其特征在于...
【专利技术属性】
技术研发人员:陈渠,刘哲辉,张吉喆,唐嘉宗,
申请(专利权)人:北京京东世纪贸易有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。