CN115357224A - 外部jar包的使用方法、装置、设备及介质 - Google Patents
外部jar包的使用方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115357224A CN115357224A CN202210925458.2A CN202210925458A CN115357224A CN 115357224 A CN115357224 A CN 115357224A CN 202210925458 A CN202210925458 A CN 202210925458A CN 115357224 A CN115357224 A CN 115357224A
- Authority
- CN
- China
- Prior art keywords
- class
- target object
- alias
- modified
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种外部jar包的使用方法、装置、介质及设备,方法包括:设置与第一外部jar包中的初始类对应的自定义类,并为自定义类添加注解,其中,注解包括自定义类的路径以及自定义类的别名;响应于获取目标对象的请求信息,根据注解判断目标对象是否为待修改对象;若是,则在应用上下文容器中,根据路径以及别名获取修改后的目标对象。本申请的方法解决了现有的外部jar包的使用方法操作繁琐、效率低下的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及到一种外部jar包的使用方法、装置、设备及介质。
背景技术
在软件系统工程中,系统通常需要引入外部jar包(如附图1所示),一方面无需自己编写jar包,提高系统工程的开发效率,另一方面降低代码危险性,减少自身代码的不足。
然而,外部的jar包可能无法完全符合软件系统的要求,现有的解决方法是直接下载这个外部jar的源码,并在源码上面进行二次开发,修改好后打包引入。这种方案需要针对不同软件系统进行单独处理,甚至针对同一软件系统不同的机器部署往往也要单独处理,方法繁琐,效率较低。
发明内容
有鉴于此,本申请提供了一种外部jar包的使用方法、装置、介质及设备,以解决现有的外部jar包的使用方法操作繁琐、效率低下的问题。
本申请的第一方面,提供了一种外部jar包的使用方法,包括:
设置与所述第一外部jar包中的初始类对应的自定义类,并为所述自定义类添加注解,其中,所述注解包括所述自定义类的路径以及所述自定义类的别名;
响应于获取目标对象的请求信息,根据所述注解判断所述目标对象是否为待修改对象;
若是,则在应用上下文容器中,根据所述路径以及所述别名获取修改后的目标对象。
本申请的第二方面,提供了一种外部jar包的使用装置,包括:
初始化模块,用于设置与所述外部jar包中的初始类对应的自定义类,并为所述自定义类添加注解,其中,所述注解包括所述自定义类的路径以及所述自定义类的别名;
判断模块,用于响应于获取目标对象的请求信息,根据所述注解判断所述目标对象是否为待修改对象;
执行模块,用于若是,则在应用上下文容器中,根据所述路径以及所述别名获取修改后的目标对象。
本申请的第三方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述外部jar包的使用方法。
本申请的第四方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述外部jar包的使用方法。
上述基于外部jar包的使用方法、装置、设备及介质所实现的方案,将第一外部jar包的所有初始类都放在应用上下文容器中,并将要修改的类在应用上下文容器中进行替换,利用路径以及别名替换成自定义类。在获取目标对象时,若目标对象对应的类是要修改的类,则根据路径和别名,利用自定义类获取修改后的目标对象;若目标对象对应的类不是要修改的类,则可直接在上下文容器中获取正常的未修改的目标对象。该实施例实现了动态修改第一外部jar包的功能,无需修改外部jar包的源码,修改方法简单高效,提高了开发人员的工作效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了现有的一种外部jar包的使用方法的示意图;
图2示出了本申请实施例提供的一种外部jar包的使用方法的流程示意图;
图3示出了本申请实施例提供的另一种外部jar包的使用方法的流程示意图;
图4示出了本申请实施例提供的另一种外部jar包的使用方法的预设质控模型的结构示意图;
图5示出了本申请实施例提供的另一种外部jar包的使用方法的流程示意图;
图6示出了本申请实施例提供的另一种外部jar包的使用方法的流程示意图;
图7示出了本申请实施例提供的另一种外部jar包的使用方法的流程示意图;
图8示出了本申请实施例提供的另一种外部jar包的使用方法的流程示意图;
图9示出了本申请实施例提供的另一种外部jar包的使用方法的流程示意图;
图10示出了本申请实施例提供的另一种外部jar包的使用方法的返回目标对象的原理示意图;
图11示出了本申请实施例提供的一种外部jar包的使用装置的结构框图;
图12示出了本申请实施例提供的一种计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供的外部jar包的使用方法,可以应用在具有指令或程序运行能力的电子设备中,其中,电子设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,也可以用独立的服务器或者是多个服务器组成的服务器集群来实现。运行在不同的运算设备仅是方案在执行主体上的差异,本领域人员可预见在不同运算设备中运行能够产生相同的技术效果。下面通过具体的实施例对本发明进行详细的描述。
请参阅图2所示,图2为本发明实施例提供的外部jar包的使用方法的一个流程示意图,包括如下步骤:
S10:设置与第一外部jar包中的初始类对应的自定义类,并为自定义类添加注解,其中,注解包括自定义类的路径以及自定义类的别名;
本发明提供的方法,用于动态使用外部jar包,也即在不使用外部jar包源码的情况下,实现外部jar包的定制化二次开发。
可以理解的是,外部jar包是已经编写好的方法。在编写代码时,为方便编程,常常会引用别人已经实现的方法,这些方法通常会封装成外部jar包,我们在编写时,只需引入外部jar包即可使用这些方法。然而在实际使用过程中,外部jar包中封装的方法可能无法完全满足开发要求,基于此,本申请实施例动态使用外部jar包,以使其适用于当前软件开发需求。
具体地,将外部jar包中的类作为初始类,根据实际业务需求,确定要修改的初始类,并为要修改的类设置对应的自定义类。其中,自定义类方法即为修改后的方法。此外,为自定义类添加注解,该注解是一个标记,可用于区分出修改的类。
注解的方法中包含自定义类的路径以及别名。具体地,例如,注解
@MockClassFunction的方法如下所示,其中path()以及value()分别为路径以及别名。基于该注解,可访问路径path中的修改后的类。
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Document
@Inherited
publie@interface MockClassFunction{
//替换的路径
String path()default″″;
//别名
String value()defaule″″;
}
该实施例将路径以及别名写入应用上下文(ApplicationContext)中,从而在程序运行过程中,可按照这个路径访问到修改后的类,避免仍然访问第一外部jar包中的未修改的类。在不直接修改第一外部jar包源码的前提下,实现了动态修改,满足当前程序开发的个性化需求。
其中,如图3所示,步骤S10前,还包括如下步骤:
S01:引入第二外部jar包,其中,第二外部jar包内包含spring框架的类方法。
对于步骤S01,在软件开发中,引入spring相关的第二外部jar包。其中,第二外部jar包内包含spring框架的类方法,可提供基于spring的扩展方法。引入第二外部jar包后,可使用该jar包中实现的方法。
具体地,例如,第二外部jar包可以是包含着对应的spring组件的jar包,如spring-core.jar、spring-beans.jar、spring-aop.jar、spring-context.jar、spring-dao.jar、spring-hibernate.jar、spring-jdbc.jar、spring-orm.jar、spring-remoting.jar、spring-support.jar、spring-web.jar、spring-webmvc.jar、spring-mock.jar等,也可以是包含有完整发布模块的spring.jar。
在该实施例中,通过引入spring相关的jar包,使得开发程序可以使用spring提供的相关功能。
S20:响应于获取目标对象的请求信息,根据注解判断目标对象是否为待修改对象;
在该步骤中,响应于获取目标对象的请求信息,判断目标对象是否为待修改对象,若目标对象为待修改对象,则可认为目标对象对应的目标类不满足当前开发需求,要进行修改;若目标对象不是待修改对象,则可认为目标对象对应的目标类满足当前开发需求,不需要修改。
其中,目标对象是利用外部jar包生成的。具体地,外部jar包中封装了一个或多个类,其中包括与目标对象对应的目标类。基于目标类可生成目标对象。
由于在前述步骤中若初始类需要修改,则为初始类对应的自定义类添加注解,因此可根据注解来判断目标对象对应的目标类是否为自定义类,也即是否要修改,进而判断目标对象是否为待修改对象。
其中,如图4所示,步骤S20中,判断目标对象是否为待修改对象,具体包括如下步骤:
S21:在注解对应的路径集合中查找目标类对应的目标路径;
S22:若查找到目标路径,则确定目标对象为待修改对象。
对于步骤S21-S22,在注解对应的路径集合中查找目标类对应的目标路径,若目标对象需要修改,则目标对象对应的目标类的注解中包含路径以及别名,也即目标对象对应的类为自定义类,其中,路径为自定义类对应的路径,可根据该路径访问目标类,从而利用目标类生成修改后的目标对象。
因此,若注解集合中未查找到目标类对应的目标路径,则第一外部jar包中的该目标类没有设置替换的路径,也即该目标类无需修改,目标对象不是待修改对象。
其中,可利用如下代码实现:
在该实施例中根据路径信息访问目标类,并利用目标类生成符合要求的修改后的目标对象。若没有路径信息,则正常返回不修改的目标对象。
其中,如图5所示,步骤S20之前,还包括:
步骤S11:建立对象工厂类,并利用所述对象工厂类生成对象工厂;
步骤S12:利用所述对象工厂扫描所述注解。
对于步骤S11-S12,对象工厂类可生成对象工厂实例,对象工厂实例扫描注解,由于具有修改需求的类,其注解中定义了修改后的类的路径以及别名,因此,可根据注解的扫描结果筛选出修改后的类。
进一步地,基于注解,读取修改后的类的路径和别名,并将路径以及别名均写入应用上下文容器中。在后续使用过程中,就可以根据别名以及路径,获取并使用修改后的类,而不再使用修改前的类。
其中,可将对象工厂类的功能集成在预设的自定义jar包中,在程序启动时,自定义jar包可自动产生一个自定义的对象工厂类,并利用该对象工厂类执行前述步骤,以实现第一外部jar包中要修改的类的替换。
S30:若是,则在应用上下文容器中,根据路径以及别名获取修改后的目标对象。
在该步骤中,若判定目标对象为待修改的对象,则应用上下文容器根据路径和别名生成修改后的目标对象,进而可在应用上下文容器中获取该修改后的目标对象。
其中,如图6所示,步骤S30中,在应用上下文容器中,根据路径以及别名获取修改后的目标对象,具体包括如下步骤:
S31:根据路径访问自定义类;
S32:在应用上下文容器中,根据自定义类的别名生成修改后的目标对象。
对于步骤S31-S32,若注解的路径集合中包含该目标对象对应的类的路径path,则说明这个类是需要修改的类,路径path指向这个类对应的自定义类,因此,可根据路径访问自定义类。
应用上下文容器(ApplicationContext)是spring的容器,可用于生成对象实例(bean),并管理容器中的bean。
其中,如图7所示,步骤S32中,在应用上下文容器中,根据自定义类的别名生成修改后的目标对象,具体包括如下步骤:
步骤S321:在应用上下文容器中查找自定义类的别名;
步骤S322:若查找到别名,则根据别名生成修改后的目标对象;
步骤S323:若未查找到别名,则将别名写入应用上下文容器中,并根据别名生成修改后的目标对象。
对于步骤S321-S323,若注解的路径集合中包含该目标对象对应的类的路径path,并且别名value不在应用上下文容器中,则要将别名加载进应用上下文容器中,从而实现目标对象的获取;若别名value已经在应用上下文容器中,则无需再次写入别名,而是直接根据别名生成修改后的目标对象。
具体地,根据注解中的路径访问自定义类,并对自定义类进行实例化,生成与自定义类对应的修改后的目标对象。若未查找到别名则将别名写入应用上下文容器中。最后根据别名,从应用上下文容器中返回修改后的目标对象。
该实施例利用了spring的IOC(控制反转)原理,spring将所有的bean(目标对象)都放置在ApplicationContext中,然后在接受到需要哪些bean的请求信息后,容器就会去自动提供这些bean。在实际使用过程中,根据注解判断并返回自定义修改后的目标对象或正常的未修改的目标对象。
其中,如图8所示,步骤S30后,还包括如下步骤:
S40:若否,则在应用上下文容器中,获取目标对象。
对于步骤S40,若目标对象不是待修改对象,那么只要获取正常的未修改的目标对象。此时,直接在应用上下文容器中获取目标对象并返回即可。
在该实施例中,根据目标对象是否待修改,采取了不同了处理方式,在实现当前软件开发和外部jar包的结合的基础上,没有造成冗余复杂的处理逻辑,即插即用,高效简单。
本申请实施例将第一外部jar包的所有类都放在应用上下文容器中,并将要修改的类在应用上下文容器中进行替换,利用路径以及别名替换成自定义类。在获取目标对象时,若目标对象对应的类是要修改的类,则根据路径和别名,利用自定义类获取修改后的目标对象;若目标对象对应的类不是要修改的类,则可直接在上下文容器中获取正常的未修改的目标对象。该实施例实现了动态修改第一外部jar包的功能,无需修改外部jar包的源码,修改方法简单高效,提高了开发人员的工作效率。
图9示出了本申请另一实施例的动态外部jar包的使用示意图,如图所示,在开发自身的软件系统时,本申请实施例不直接修改不符合当前开发需求的外部jar-2,而是利用预先编写的miceMockClass.jar实现前述功能,以达到修改外部jar包的效果。在软件系统的角度,与直接修改jar包源码得到修改后外部jar-2的效果相同。
图10示出了本申请另一实施例的返回目标对象的原理示意图,如图所示,在获取目标对象(bean)时,首先在注解@MockClassFunction的路径集合中查找该目标对象对应的目标类的路径。
若没有查找到路径,则说明该目标类不需修改,因此,直接在上下文(ApplicationContext)中生成目标对象,获取该目标对象并返回。
若查找到路径,则说明该目标类需要修改,根据路径即可获取修改后的目标类也即自定义类。在此基础上,在ApplicationContext查找该自定义类的别名,若查找到别名,则说明已写入ApplicationContext中,可在ApplicationContext中生成修改后的目标对象并返回;若未查找到别名,则说明还未写入ApplicationContext中,此时,可利用自定义类生成修改后的目标对象,并将别名写入ApplicationContext中,再从ApplicationContext中获取该修改后的目标对象并返回。
可见,相较于已有外部jar包的使用方法,上述方案第一外部jar包的所有类都放在应用上下文容器中,为要修改的类编写对应的修改后的自定义类并添加注解,并基于注解筛选出要修改的类,利用路径以及别名,将这些类在应用上下文容器中替换成为对应的自定义类。在获取目标对象时,若目标对象对应的类是要修改的类,则根据路径和别名,在应用上下文容器中利用自定义类获取修改后的目标对象;若目标对象对应的类不是要修改的类,则可直接在上下文容器中获取正常的未修改的目标对象。该实施例实现了动态修改第一外部jar包的功能,无需修改外部jar包的源码,在可与当前开发软件正常结合的基础上,修改方式精简,有利于提高二次开发的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种外部jar包的使用装置,该外部jar包的使用装置与上述实施例中外部jar包的使用方法一一对应。如图11所示,该外部jar包的使用装置包括:初始化模块、判断模块以及执行模块。各功能模块详细说明如下:
初始化模块,用于设置与外部jar包中的初始类对应的自定义类,并为自定义类添加注解,其中,注解包括自定义类的路径以及自定义类的别名;
判断模块,用于响应于获取目标对象的请求信息,根据注解判断目标对象是否为待修改对象;
执行模块,用于若是,则在应用上下文容器中,根据路径以及别名获取修改后的目标对象。
在一个实施例中,判断模块具体用于:
在注解对应的路径集合中查找目标类对应的目标路径若查找到目标路径,则确定目标对象为待修改对象。
在一个实施例中,执行模块具体用于:
根据路径以及别名访问自定义类;
在应用上下文容器中,根据自定义类的别名生成修改后的目标对象。
在一个实施例中,执行模块还用于:
在应用上下文容器中查找自定义类的别名;
若查找到别名,则根据别名生成修改后的目标对象;
若未查找到别名,则讲别名写入应用上下文容器中,并根据别名生成修改后的目标对象。
在一个实施例中,执行模块还用于:
若否,则在应用上下文容器中,获取目标对象。
在一个实施例中,判断模块具体用于:
建立对象工厂类,并利用对象工厂类生成对象工厂;
利用对象工厂扫描注解。
在一个实施例中,装置还包括配置模块,具体用于:
引入第二外部jar包,其中,第二外部jar包内包含spring框架的类方法。
在一个实施例中,提供了一种计算机设备,该计算机设备其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种上述外部jar包的使用方法的功能或步骤。
此外,该计算机设备还可包括网络接口、显示屏和输入装置等。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
设置与第一外部jar包中的初始类对应的自定义类,并为自定义类添加注解,其中,注解包括自定义类的路径以及自定义类的别名;
响应于获取目标对象的请求信息,根据注解判断目标对象是否为待修改对象;
若是,则在应用上下文容器中,根据路径以及别名获取修改后的目标对象。
在一个实施例中,提供了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
设置与第一外部jar包中的初始类对应的自定义类,并为自定义类添加注解,其中,注解包括自定义类的路径以及自定义类的别名;
响应于获取目标对象的请求信息,根据注解判断目标对象是否为待修改对象;
若是,则在应用上下文容器中,根据路径以及别名获取修改后的目标对象。
需要说明的是,上述关于存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中的相关描述,为避免重复,这里不再一一描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的单元或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的系统中的单元可以按照实施场景描述进行分布于实施场景的系统中,也可以进行相应变化位于不同于本实施场景的一个或多个系统中。上述实施场景的单元可以合并为一个单元,也可以进一步拆分成多个子单元。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种使用外部jar包的方法,其特征在于,所述方法包括:
设置与所述第一外部jar包中的初始类对应的自定义类,并为所述自定义类添加注解,其中,所述注解包括所述自定义类的路径以及所述自定义类的别名;
响应于获取目标对象的请求信息,根据所述注解判断所述目标对象是否为待修改对象;
若是,则在应用上下文容器中,根据所述路径以及所述别名获取修改后的目标对象。
2.根据权利要求1所述的方法,其特征在于,所述根据所述注解判断所述目标对象是否为待修改对象,具体包括:
在所述注解对应的路径集合中查找所述目标类对应的目标路径;
若查找到所述目标路径,则确定所述目标对象为所述待修改对象。
3.根据权利要求1所述的方法,其特征在于,所述在所述应用上下文容器中,根据所述路径以及所述别名获取修改后的目标对象,具体包括:
根据所述路径访问所述自定义类;
在所述应用上下文容器中,根据所述自定义类的别名生成所述修改后的目标对象。
4.根据权利要求1所述的方法,其特征在于,所述在所述应用上下文容器中,根据所述自定义类的别名生成所述修改后的目标对象,具体包括:
在所述应用上下文容器中查找所述自定义类的别名;
若查找到所述别名,则根据所述别名生成所述修改后的目标对象;
若未查找到所述别名,则讲所述别名写入所述应用上下文容器中,并根据所述别名生成所述修改后的目标对象。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若否,则在所述应用上下文容器中获取所述目标对象。
6.根据权利要求1所述的方法,其特征在于,所述根据所述注解判断所述目标对象是否为待修改对象之前,还包括:
建立对象工厂类,并利用所述对象工厂类生成对象工厂;
利用所述对象工厂扫描所述注解。
7.根据权利要求1所述的方法,其特征在于,所述设置与所述外部jar包中的初始类对应的自定义类之前,所述方法还包括:
引入第二外部jar包,其中,所述第二外部jar包内包含spring框架的类方法。
8.一种使用外部jar包的装置,其特征在于,所述装置包括:
初始化模块,用于设置与所述外部jar包中的初始类对应的自定义类,并为所述自定义类添加注解,其中,所述注解包括所述自定义类的路径以及所述自定义类的别名;
判断模块,用于响应于获取目标对象的请求信息,根据所述注解判断所述目标对象是否为待修改对象;
执行模块,用于若是,则在应用上下文容器中,根据所述路径以及所述别名获取修改后的目标对象。
9.一种存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
10.一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210925458.2A CN115357224A (zh) | 2022-08-03 | 2022-08-03 | 外部jar包的使用方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210925458.2A CN115357224A (zh) | 2022-08-03 | 2022-08-03 | 外部jar包的使用方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357224A true CN115357224A (zh) | 2022-11-18 |
Family
ID=84001072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210925458.2A Pending CN115357224A (zh) | 2022-08-03 | 2022-08-03 | 外部jar包的使用方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357224A (zh) |
-
2022
- 2022-08-03 CN CN202210925458.2A patent/CN115357224A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325195B (zh) | 浏览器的渲染方法和系统、计算机设备、计算机存储介质 | |
WO2020151333A1 (zh) | 页面加载方法、装置、计算机设备和存储介质 | |
CN112765023B (zh) | 测试用例生成方法、装置 | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN112667246B (zh) | 应用功能扩展的方法、装置及电子设备 | |
CN112416458A (zh) | 基于ReactNative的预加载方法、装置、计算机设备及存储介质 | |
CN112882694A (zh) | 一种程序编译方法、装置、电子设备及可读存储介质 | |
CN115454512A (zh) | 一种芯片驱动加载配置方法、装置、设备和存储介质 | |
CN110362341B (zh) | 基于微服务架构的业务管理方法、装置、设备和存储介质 | |
CN111026988A (zh) | 一种页面加载的方法、装置、系统及计算机设备 | |
CN112818270A (zh) | 数据跨域传递方法、装置及计算机设备 | |
CN110032390B (zh) | 一种实现多机型共升级包的方法、存储介质及智能终端 | |
CN109614188B (zh) | 一种页面在线帮助方法、装置、计算机设备及存储介质 | |
CN115357224A (zh) | 外部jar包的使用方法、装置、设备及介质 | |
CN116737677A (zh) | 一种资源处理方法、装置、计算机设备和可读存储介质 | |
CN110598142A (zh) | 网页校准方法、装置、计算机设备及存储介质 | |
CN111177624B (zh) | 网站前后端通讯方法、装置、计算机设备和存储介质 | |
CN111459564B (zh) | boot阶段初始化兼容的实现方法、系统及计算机设备 | |
CN115374083A (zh) | 数据源的切换方法、装置、电子设备及存储介质 | |
CN113377376A (zh) | 数据包生成方法、数据包生成装置、电子设备及存储介质 | |
CN112015378A (zh) | 骨架屏页面生成方法、装置、计算机设备和存储介质 | |
CN109426497B (zh) | 数据嵌入方法、装置、系统以及存储介质 | |
CN111104327A (zh) | 固态硬盘控制软件测试方法、装置、系统和计算机设备 | |
CN110780864A (zh) | 类方法替换的控制方法及装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |