CN110928607B - 业务实现方法、装置、计算机设备及存储介质 - Google Patents
业务实现方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110928607B CN110928607B CN201911146705.3A CN201911146705A CN110928607B CN 110928607 B CN110928607 B CN 110928607B CN 201911146705 A CN201911146705 A CN 201911146705A CN 110928607 B CN110928607 B CN 110928607B
- Authority
- CN
- China
- Prior art keywords
- service implementation
- implementation class
- name
- query
- class
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 179
- 230000008569 process Effects 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 25
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000008878 coupling Effects 0.000 abstract description 5
- 238000010168 coupling process Methods 0.000 abstract description 5
- 238000005859 coupling reaction Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种业务实现方法、装置、计算机设备和存储介质。在第一业务实现类运行的过程中,当该第一业务实现类需要调用第二业务实现类时,获取查询字段,该查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;接着根据该查询字段中的该目标查询参数属性名获取查询参数;然后当该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象;最后根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值。故而,本申请提供的业务实现方法可以减少业务实现类之间的依赖关系,降低代码之间的耦合度,进而降低了维护成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种业务实现方法、装置、计算机设备和存储介质。
背景技术
在实际应用中,当前,随着计算机技术的发展,需要采用计算机编程以实现某一业务功能,而实现该业务功能可能需要多个业务实现类,这些多个业务实现类之间是相互依赖的,因此,如何减少这种依赖关系是研究的重点。
相关技术中,代码中存在多个业务实现类,其中一个业务实现类(表示为A)需要利用第二个业务实现类(表示为B)以实现A的业务功能,也即是,A需要采用B的对象执行某个方法以获取结果,A依赖于该结果以实现A的某种业务功能,这就需要将B的对象注入到A中,也就是需要在A中主动创建出B的对象,才能使用B的方法以获取A需要的结果。
然而,随着业务的发展,业务实现类越来越多,业务实现类之间相互依赖的关系越来越复杂,增加了代码之间的耦合度,维护成本较高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低维护成本的业务实现方法、装置、计算机设备和存储介质。
第一方面,提供了一种业务实现方法,该方法包括:
在第一业务实现类运行的过程中,当该第一业务实现类需要调用第二业务实现类时,获取查询字段,该查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;
根据该查询字段中的该目标查询参数属性名获取查询参数;
当该查询字段中的该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象;
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,该返回值用于供该第一业务实现类进行调用。
本申请实施例提供了一种业务实现方法,在第一业务实现类运行的过程中,该第一业务实现类需要调用第二业务实现类时,可以获取查询字段,查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名,其中,根据目标查询参数属性名可以获取查询参数,也即是,无需将第二业务实现类注入到第一业务实现类中以获得返回值,减少第一业务实现类与第二业务实现类的相互依赖,减少了代码之间的耦合度,降低了维护成本。
在其中一个实施例中,该查询字段还包括返回值映射属性名;
检测该返回值是否包括该返回值映射属性名;
若该返回值包括该返回值映射属性名,则将该返回值设置于该业务实现类方法对应的目标结果集中。
在本实施例提供的业务实现方法中,根据返回值映射属性名,可以检测返回值中是否包括返回值映射属性名,有利于在得到返回值之后对返回值进行检验,确保查询结果的准确性。
在其中一个实施例中,该方法还包括:
若该返回值不包括该返回值映射属性名,则将空值设置于该目标结果集中。
在本实施例提供的业务实现方法中,根据返回值映射属性名,可以检测返回值中是否包括返回值映射属性名,有利于在得到返回值之后对返回值进行检验,确保查询结果的准确性。
在其中一个实施例中,该方法还包括:
根据该目标查询参数属性名从该业务实现类方法对应的目标结果集中获取该目标查询参数属性名对应的查询参数;
其中,该目标结果集中存储有至少一个查询参数属性名与查询参数的对应关系。
在本实施例提供的业务实现方法中,可以根据查询字段中的目标查询参数属性名获取查询参数,根据该查询参数,可以获取到需要通过哪些查询参数作为查询条件进行数据的查询,进而得到查询结果。
在其中一个实施例中,根据该业务实现类名称获取第二业务实现类的对象,包括:
根据该业务实现类名称,利用Spring上下文获取该第二业务实现类的对象。
在本实施例提供的业务实现方法中,根据业务实现类名称,利用Spring上下文可以获取第二业务实现类的对象,即通过Spring上下文直接可以得到业务实现类名称所对应的第二业务实现类的对象,该第二业务实现类的对象可以执行该第二业务实现类的对象所对应的业务实现类方法。
在其中一个实施例中,该根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,包括:
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,利用Java反射原理得到该返回值。
在本实施例提供的业务实现方法中,根据查询参数、第二业务实现类的对象以及业务实现类方法名所指示的业务实现类方法,再利用Java反射原理得到返回值,即通过Java反射原理可以得到第二业务实现类的对象采用业务实现类方法所得到的结果,在得到该结果之后,后续才能对该结果进行检测。
在其中一个实施例中,当该业务实现类指示信息为该第二业务实现类的对象本身时,获取该第二业务实现类的对象。
在本实施例提供的业务实现方法中,当业务实现类指示信息为第二业务实现类的对象本身时,可以获取该第二业务实现类的对象,根据该第二业务实现类的对象,再执行所对应的业务实现类方法,可以得到相应的结果,在得到该结果之后,后续才能对该结果进行检测。
第二方面,提供了一种业务实现装置,该装置包括:
第一获取模块,用于在第一业务实现类运行的过程中,当该第一业务实现类需要调用第二业务实现类时,获取查询字段,该查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;
第二获取模块,用于根据该查询字段中的该目标查询参数属性名获取查询参数;
第三获取模块,用于当该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象;
查询模块,用于根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,该返回值用于供该第一业务实现类进行调用。
在其中一个实施例中,该查询字段还包括返回值映射属性名;
该装置还包括检测模块,该检测模块用于:
检测该返回值是否包括该返回值映射属性名;
该装置还包括设置模块,若该返回值包括该返回值映射属性名,该设置模块则用于将该返回值设置于该业务实现类方法对应的目标结果集中。
在其中一个实施例中,若该返回值还包括该返回值映射属性名,该设置模块则用于将空值设置于该目标结果集中。
在其中一个实施例中,该第二获取模块具体用于:
根据该目标查询参数属性名从该业务实现类方法对应的目标结果集中获取该目标查询参数属性名对应的查询参数;
其中,该目标结果集中存储有至少一个查询参数属性名与查询参数的对应关系。
在其中一个实施例中,该第三获取模块具体用于:
根据该业务实现类名称,利用Spring上下文获取该第二业务实现类的对象。
在其中一个实施例中,该查询模块具体用于:
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,利用Java反射原理得到该返回值。
在其中一个实施例中,该装置还包括第四获取模块,该第四获取模块用于:
当该查询字段中的该业务实现类指示信息为该第二业务实现类的对象本身时,获取该第二业务实现类的对象。
第三方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该计算机程序被该处理器执行时实现上述第一方面任一所述的业务实现方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任一所述的业务实现方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供了一种业务实现方法,可以解决相关技术存在的问题。在该业务实现方法中,在第一业务实现类运行的过程中,该第一业务实现类需要调用第二业务实现类时,可以获取查询字段,查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;根据该查询字段中的该目标查询参数属性名获取查询参数;当该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象;根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,该返回值用于供该第一业务实现类进行调用,也即是,无需将第二业务实现类注入到第一业务实现类中以获得返回值,减少第一业务实现类与第二业务实现类的相互依赖,减少了代码之间的耦合度,降低了维护成本。
附图说明
图1为一个实施例中业务实现方法的应用环境图;
图2为一个实施例中业务实现方法的流程示意图;
图3为另一个实施例中业务实现方法的流程示意图;
图4为一个实施例中业务实现装置的结构框图;
图5为另一个实施例中业务实现装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面,将对本申请实施例提供的业务实现方法所涉及到的应用环境进行简要说明。
请参考图1,在一个实施例中,提供了一种可以运行Java程序的计算机设备,该计算机设备可以是终端,该终端安装有可以运行Java程序的计算机软件。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务实现方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,如图2所示,提供了一种业务实现方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤201,在第一业务实现类运行的过程中,当该第一业务实现类需要调用第二业务实现类时,获取查询字段,该查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名。
其中,第一业务实现类指的是能够实现某种业务功能的实现类;第二业务实现类指的是协助第一业务实现类完成该业务功能的实现类。类是对象的集合,即类是事物具有相同属性和相同功能的对象的集合,对象是类的实例。
其中,目标查询参数属性名用于查询参数的属性,其中,该查询参数可以是根据该目标查询参数属性名获取的;业务实现类指示信息可以是业务实现类名称或者第二业务实现类的对象,业务实现类名称就是业务实现类所对应的名称;业务实现类方法名用于表征业务实现类的对象采用的某个具体方法所对应的名称。
在第一业务实现类运行的过程中,如果需要调用第二业务实现类,这时,可以获取查询字段,查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;如果不通过注入的方式,就填充的是业务实现类名称;若已经存在原来就注入了业务实现类的对象的情况,就填充的是业务实现类的对象。
示例性地,第一业务实现类需要获取“name=张三”所购买的车辆的“color”颜色属性所对应的具体颜色和“modelcode”车型属性所对应的具体车型,其中,“name”是目标查询参数属性名,在这种情况下,业务实现类指示信息可以是利用“张三”查询“color”颜色属性所对应的具体颜色和“modelcode”车型属性所对应的具体车型的业务实现类名称或者第二业务实现类的对象,业务实现类方法名可以是通过“张三”获取到“color”颜色属性和“modelcode”车型属性的方法所对应的方法名称。
步骤202,根据该查询字段中的该目标查询参数属性名获取查询参数。
其中,该目标查询参数属性名可以是多个。
示例性地,目标查询参数属性名为“name”名字属性,则根据该“name”名字属性可以得到具体名字,例如“张三”,则“张三”也就是该根据该目标查询参数属性名“name”获取的查询参数。
步骤203,当该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象。
需要判断业务实现类指示信息是否是为业务实现类名称,若是业务实现类名称,则根据该业务实现类名称可以得到第二业务实现类的对象。
由于得到第二业务实现类的对象后可以执行对应的方法,所以当业务实现类指示信息为业务实现类名称时,需要获取到第二业务实现类的对象。
步骤204,根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,该返回值用于供该第一业务实现类进行调用。
如上文所述,通过业务实现类名称可以获取第二业务实现类的对象,在获取第二业务实现类的对象之后,根据查询参数、第二业务实现类的对象以及业务实现类方法名所指示的业务实现类方法可以得到返回值,该返回值指的是根据查询参数、第二业务实现类的对象以及第二业务实现类方法名所指示的业务实现类方法进行查询得到的结果;该返回值可以用于第一业务实现类进行调用。
本申请实施例提供了一种业务实现方法,可以解决相关技术存在的问题。在该业务实现方法中,在第一业务实现类运行的过程中,该第一业务实现类需要调用第二业务实现类时,可以获取查询字段,查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;根据该查询字段中的该目标查询参数属性名获取查询参数;当该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象;根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,该返回值用于供该第一业务实现类进行调用,也即是,无需将第二业务实现类注入到第一业务实现类中以获得返回值,减少第一业务实现类与第二业务实现类的相互依赖,减少了代码之间的耦合度,降低了维护成本。在其中一个实施例中,可选地,该查询字段还包括返回值映射属性名。
在该实施例的基础上,如图3所示,该方法还包括以下步骤:
步骤301,检测该返回值是否包括该返回值映射属性名。
在根据查询参数、第二业务实现类的对象以及业务实现类方法名所指示的业务实现类方法进行查询,得到返回值之后,检测返回值中是否包括该返回值映射属性名。换句话说,将返回值映射属性名与返回值进行比对,检测返回值中是否存在至少一个与返回值映射属性名一致的返回值。
示例性地,根据查询参数“张三”、通过“张三”查询“color”颜色属性和“modelcode”车型属性的第二业务实现类的对象以及利用“张三”这个名字查询“color”颜色属性和“modelcode”车型属性的业务实现类方法,可以得到很多的返回值,例如,“color=红色”、“modelcode=A6L”和“brand=奥迪”等,然后检测返回值中是否包括至少一个与这3个返回值映射属性名“color”、“modelcode”和“brand”一致的返回值。
步骤302,若该返回值包括该返回值映射属性名,则将该返回值设置于该业务实现类方法对应的目标结果集中。
如上文所述,在根据查询参数、第二业务实现类的对象以及业务实现类方法名所指示的业务实现类方法进行查询,得到返回值之后,可以根据返回值映射属性名检测返回值中是否包括返回值映射属性名。
若包括,则将该返回值放入业务实现类方法对应的目标结果集中,该目标结果集用于存储执行业务实现类方法所对应的结果。
例如,在得到的返回值中有“color=红色”、“modelcode=A6L”、“brand=奥迪”,而第一业务实现类所需要获取的是“color”对应的具体颜色,则说明返回值中包括第一业务实现类所需要的“color”颜色属性,可以将“color=红色”放入到目标结果集合中。
步骤303,若该返回值不包括该返回值映射属性名,则将空值设置于该目标结果集中。
如上文所述,得到返回值之后,可以检测返回值中是否包括返回值映射属性名,若包括,则将该返回值放入业务实现类方法对应的目标结果集中,该目标结果集用于存储执行业务实现类方法所对应的结果;若不包括,则向目标结果集返回空值。
这说明查询的结果不是第一业务实现类需要的,也有可能是查询出错导致返回值不包括该返回值映射属性名。
例如,在得到的返回值中有“color=红色”、“modelcode=A6L”,而第一业务实现类所需要获取的是“brand”品牌属性,则说明返回值中不包括第一业务实现类所需要的“brand”品牌属性,则向目标结果集返回空值。
在本实施例提供的业务实现方法中,根据返回值映射属性名,可以检测返回值中是否包括返回值映射属性名,有利于在得到返回值之后对返回值进行检验,确保查询结果的准确性。
在其中一个实施例中,提供了一种根据该查询字段中的该目标查询参数属性名获取查询参数方法,包括:
根据该目标查询参数属性名从该业务实现类方法对应的目标结果集中获取该目标查询参数属性名对应的查询参数。
其中,该目标结果集中存储有至少一个查询参数属性名与查询参数的对应关系。
在本实施例提供的业务实现方法中,可以根据查询字段中的目标查询参数属性名获取查询参数,根据该查询参数,可以获取到需要通过哪些查询参数作为查询条件进行数据的查询,进而得到查询结果。
在其中一个实施例中,提供了一种根据该业务实现类名称获取第二业务实现类的对象,包括:
根据该业务实现类名称,利用Spring上下文(即ApplicationContextAware)获取该第二业务实现类的对象。
其中,Spring是一个用于管理业务相关对象的轻量级的容器;ApplicationContextAware是一个接口,当一个类实现了这个接口之后,这个类就可以方便获得ApplicationContext中的所有bean对象。换句话说,即这个类可以通过该接口直接获取对应的对象。
根据业务实现类名称通过Spring的ApplicationContextAware接口可以获取该业务实现类名称对应的第二业务实现类的对象。
在本实施例提供的业务实现方法中,根据业务实现类名称,利用Spring上下文可以获取第二业务实现类的对象,即通过Spring上下文直接可以得到业务实现类名称所对应的第二业务实现类的对象,该第二业务实现类的对象可以执行该第二业务实现类的对象所对应的业务实现类方法。
在其中一个实施例中,提供了一种根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,包括:
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,利用Java反射原理得到该返回值。
其中,Java反射原理指的是在程序运行状态中,对于任意一个类,都可以知道这个类的所有属性和方法;对于任意一个对象,都可以调用它的任意一个方法和属性,这种动态获取信息,以及动态调用对象方法的功能称为Java反射原理。
如上文所述,在利用Spring上下文获取第二业务实现类的对象之后,可以根据查询参数、第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,直接利用Java反射原理得到返回值。
具体地,利用“张三”查询“color”的具体颜色和“modelcode”具体车型,根据“张三”、第二业务实现类的对象以及通过“张三”查找车辆信息的方法,通过Java反射原理,根据“张三”就可以得到“张三”所购买的车辆的各种信息,例如,“color=红色”、“modelcode=A6L”和“brand=奥迪”等。
在本实施例提供的业务实现方法中,根据查询参数、第二业务实现类的对象以及业务实现类方法名所指示的业务实现类方法,再利用Java反射原理得到返回值,即通过Java反射原理可以得到第二业务实现类的对象采用业务实现类方法所得到的结果,在得到该结果之后,后续才能对该结果进行检测。
在其中一个实施例中,该方法还包括:
当该业务实现类指示信息为该第二业务实现类的对象本身时,获取该第二业务实现类的对象。
如上文所述,根据业务实现类名称,利用Spring上下文可以获取第二业务实现类的对象,当业务实现类指示信息为第二业务实现类的对象本身时,同理,根据查询参数、第二业务实现类的对象以及业务实现类方法名所指示的业务实现类方法进行查询,利用Java反射原理得到该返回值。
在本实施例提供的业务实现方法中,当业务实现类指示信息为第二业务实现类的对象本身时,可以获取该第二业务实现类的对象,根据该第二业务实现类的对象,再执行所对应的业务实现类方法,可以得到相应的结果,在得到该结果之后,后续才能对该结果进行检测。
应该理解的是,虽然图2、3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种业务实现装置400,包括:第一获取模块401、第二获取模块402、第三获取模块403,查询模块404,其中:
第一获取模块401,用于在第一业务实现类运行的过程中,当该第一业务实现类需要调用第二业务实现类时,获取查询字段,该查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;
第二获取模块402,用于根据该查询字段中的该目标查询参数属性名获取查询参数;
第三获取模块403,用于当该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象;
查询模块404,用于根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,该返回值用于供该第一业务实现类进行调用。
请参考图5,本申请实施例还提供了另一种业务实现装置500,该业务实现装置500除了包括业务实现装置400的各模块外,可选的,该业务实现装置500还包括检测模块405、设置模块406和第四获取模块407。
在其中一个实施例中,该查询字段还包括返回值映射属性名;
该业务实现装置500还包括检测模块405,该检测模块405用于:
检测该返回值是否包括该返回值映射属性名;
该业务实现装置500还包括设置模块406,若该返回值包括该返回值映射属性名,该设置模块406则将该返回值设置于该业务实现类方法对应的目标结果集中。
在其中一个实施例中,若该返回值包括该返回值映射属性名,该设置模块406则将该返回值设置于该业务实现类方法对应的目标结果集中。
在其中一个实施例中,该第二获取模块402具体用于:
根据该目标查询参数属性名从该业务实现类方法对应的目标结果集中获取该目标查询参数属性名对应的查询参数;
其中,该目标结果集中存储有至少一个查询参数属性名与查询参数的对应关系。
在其中一个实施例中,该第三获取模块403具体用于:
根据该第二业务实现类名称,利用Spring上下文获取该第二业务实现类的对象。
在其中一个实施例中,该查询模块404具体用于:
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,利用Java反射原理得到该返回值。
在其中一个实施例中,该业务实现装置500还包括第四获取模块407,该第四获取模块407用于:
当该业务实现类指示信息为该第二业务实现类的对象本身时,获取该第二业务实现类的对象。
关于业务实现装置的具体限定可以参见上文中对于业务实现方法的限定,在此不再赘述。上述业务实现装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在第一业务实现类运行的过程中,当该第一业务实现类需要调用第二业务实现类时,获取查询字段,该查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;
根据该查询字段中的该目标查询参数属性名获取查询参数;
当该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象;
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,该返回值用于供该第一业务实现类进行调用,。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
检测该返回值是否包括该返回值映射属性名;
若该返回值包括该返回值映射属性名,则将该返回值设置于该业务实现类方法对应的目标结果集中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若该返回值不包括该返回值映射属性名,则将空值设置于该目标结果集中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据该目标查询参数属性名从该业务实现类方法对应的目标结果集中获取该目标查询参数属性名对应的查询参数;
其中,该目标结果集中存储有至少一个查询参数属性名与查询参数的对应关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据该业务实现类名称,利用Spring上下文获取该第二业务实现类的对象。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,利用Java反射原理得到该返回值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当该业务实现类指示信息为该第二业务实现类的对象本身时,获取该第二业务实现类的对象。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在第一业务实现类运行的过程中,当该第一业务实现类需要调用第二业务实现类时,获取查询字段,该查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;
根据该查询字段中的该目标查询参数属性名获取查询参数;
当该查询字段中的该业务实现类指示信息为业务实现类名称时,根据该业务实现类名称获取该第二业务实现类的对象;
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,该返回值用于供该第一业务实现类进行调用。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
检测该返回值是否包括该返回值映射属性名;
若该返回值包括该返回值映射属性名,则将该返回值设置于该业务实现类方法对应的目标结果集中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若该返回值不包括该返回值映射属性名,则将空值设置于该目标结果集中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据该目标查询参数属性名从该业务实现类方法对应的目标结果集中获取该目标查询参数属性名对应的查询参数;
其中,该目标结果集中存储有至少一个查询参数属性名与查询参数的对应关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据该业务实现类名称,利用Spring上下文获取该第二业务实现类的对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据该查询参数、该第二业务实现类的对象以及该业务实现类方法名所指示的业务实现类方法进行查询,利用Java反射原理得到该返回值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当该业务实现类指示信息为该第二业务实现类的对象本身时,获取该第二业务实现类的对象。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.一种业务实现方法,其特征在于,所述方法包括:
在第一业务实现类运行的过程中,当所述第一业务实现类需要调用第二业务实现类时,获取查询字段,所述查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;所述业务实现类方法名用于表征所述第二业务实现类的对象所采用的业务实现类方法的名称;
根据所述查询字段中的所述目标查询参数属性名获取查询参数;
当所述业务实现类指示信息为第二业务实现类名称时,根据所述第二业务实现类名称获取所述第二业务实现类的对象,以及当所述业务实现类指示信息为所述第二业务实现类的对象时,获取所述第二业务实现类的对象;
根据所述查询参数、所述第二业务实现类的对象以及所述业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,所述返回值用于供所述第一业务实现类进行调用。
2.根据权利要求1所述的方法,其特征在于,所述查询字段还包括返回值映射属性名。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
检测所述返回值是否包括所述返回值映射属性名;
若所述返回值包括所述返回值映射属性名,则将所述返回值设置于所述业务实现类方法对应的目标结果集中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述返回值不包括所述返回值映射属性名,则将空值设置于所述目标结果集中。
5.根据权利要求1所述的方法,其特征在于,所述根据所述查询字段中的所述目标查询参数属性名获取查询参数,包括:
根据所述目标查询参数属性名从所述业务实现类方法对应的目标结果集中获取所述目标查询参数属性名对应的查询参数;
其中,所述目标结果集中存储有至少一个查询参数属性名与查询参数的对应关系。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二业务实现类名称获取所述第二业务实现类的对象,包括:
根据所述第二业务实现类名称,利用Spring上下文获取所述第二业务实现类的对象。
7.根据权利要求1所述的方法,其特征在于,所述根据所述查询参数、所述第二业务实现类的对象以及所述业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,包括:
根据所述查询参数、所述第二业务实现类的对象以及所述业务实现类方法名所指示的业务实现类方法进行查询,利用Java反射原理得到所述返回值。
8.一种业务实现装置,其特征在于,所述装置包括:
第一获取模块,用于在第一业务实现类运行的过程中,当所述第一业务实现类需要调用第二业务实现类时,获取查询字段,所述查询字段包括目标查询参数属性名、业务实现类指示信息和业务实现类方法名;所述业务实现类方法名用于表征所述第二业务实现类的对象所采用的业务实现类方法的名称;
第二获取模块,用于根据所述查询字段中的所述目标查询参数属性名获取查询参数;
第三获取模块,用于当所述业务实现类指示信息为第二业务实现类名称时,根据所述第二业务实现类名称获取所述第二业务实现类的对象,以及当所述业务实现类指示信息为所述第二业务实现类的对象时,获取所述第二业务实现类的对象;
查询模块,用于根据所述查询参数、所述第二业务实现类的对象以及所述业务实现类方法名所指示的业务实现类方法进行查询,得到返回值,所述返回值用于供所述第一业务实现类进行调用。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911146705.3A CN110928607B (zh) | 2019-11-21 | 2019-11-21 | 业务实现方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911146705.3A CN110928607B (zh) | 2019-11-21 | 2019-11-21 | 业务实现方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928607A CN110928607A (zh) | 2020-03-27 |
CN110928607B true CN110928607B (zh) | 2024-05-14 |
Family
ID=69850500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911146705.3A Active CN110928607B (zh) | 2019-11-21 | 2019-11-21 | 业务实现方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928607B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769975B (zh) * | 2020-12-31 | 2022-06-24 | 武汉联影医疗科技有限公司 | 一种数据集成方法、装置、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020054206A (ko) * | 2000-12-27 | 2002-07-06 | 오길록 | 엔터프라이즈 자바빈즈 기반의 클라이언트/서버간의통신방법 |
CN107479870A (zh) * | 2017-06-28 | 2017-12-15 | 北京五八信息技术有限公司 | 一种第三方类库调用方法、装置、移动终端及存储介质 |
CN109189799A (zh) * | 2018-08-14 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 业务数据查询方法、装置、计算机设备及存储介质 |
CN110163382A (zh) * | 2018-02-12 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 信息生成方法和装置 |
CN110221829A (zh) * | 2019-05-10 | 2019-09-10 | 杭州米雅信息科技有限公司 | 信息处理方法及其系统、计算机系统及计算机可读介质 |
-
2019
- 2019-11-21 CN CN201911146705.3A patent/CN110928607B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020054206A (ko) * | 2000-12-27 | 2002-07-06 | 오길록 | 엔터프라이즈 자바빈즈 기반의 클라이언트/서버간의통신방법 |
CN107479870A (zh) * | 2017-06-28 | 2017-12-15 | 北京五八信息技术有限公司 | 一种第三方类库调用方法、装置、移动终端及存储介质 |
CN110163382A (zh) * | 2018-02-12 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 信息生成方法和装置 |
CN109189799A (zh) * | 2018-08-14 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 业务数据查询方法、装置、计算机设备及存储介质 |
CN110221829A (zh) * | 2019-05-10 | 2019-09-10 | 杭州米雅信息科技有限公司 | 信息处理方法及其系统、计算机系统及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110928607A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573371B (zh) | 数据审批方法、装置、计算机设备和存储介质 | |
CN108388599B (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
CN109189799B (zh) | 业务数据查询方法、装置、计算机设备及存储介质 | |
CN111078910A (zh) | 医学影像的存储方法、装置、系统、设备和存储介质 | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN110147319B (zh) | 数据库测试方法、装置及计算机设备 | |
CN112256318B (zh) | 一种用于依赖产品的构建方法及设备 | |
CN111190609B (zh) | 业务的处理方法、装置、设备和存储介质 | |
CN108399125B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN113504918A (zh) | 设备树配置优化方法、装置、计算机设备和存储介质 | |
CN110928607B (zh) | 业务实现方法、装置、计算机设备及存储介质 | |
CN109542962B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110457401B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN116974581B (zh) | 代码生成方法、装置、电子设备和存储介质 | |
CN110727777A (zh) | 知识图谱的管理方法、装置、计算机设备和存储介质 | |
CN114003432A (zh) | 参数校验方法、装置、计算机设备和存储介质 | |
CN110442636B (zh) | 一种数据的读写方法、装置及数据读写设备 | |
CN115269040B (zh) | 一种租户业务应用的拓展方法、装置及系统 | |
CN108647139B (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN114936368A (zh) | 一种Java内存木马检测方法、终端设备及存储介质 | |
CN110874370B (zh) | 数据查询方法、装置、计算机设备和可读存储介质 | |
CN112463783A (zh) | 索引数据监控方法、装置、计算机设备和存储介质 | |
CN112783866A (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN111158701B (zh) | 库模块发布方法、装置、设备及存储介质 | |
CN114168533B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |