一种基于注解的组件加载方法、系统、终端及存储介质技术方案

技术编号:38430718 阅读:14 留言:0更新日期:2023-08-07 11:27
本申请提供一种基于注解的组件加载方法、系统、终端及存储介质,涉及计算机技术领域,特别是涉及一种基于注解的组件加载方法,所述方法包括:获取在应用程序源代码中预先创建好的目标类,其中,所述目标类包括:基础组件加载抽象类、组件实现类、自动加载组件的自定义注解类、自动加载组件类和加载组件常量类;在所述自动加载组件的自定义注解类上添加所述自动加载组件类;获取所述应用程序的应用启动类,并在所述应用启动类上添加所述自动加载组件的自定义注解类,注解的值为所述加载组件常量类里配置的组件的常量属性字段;在所述应用程序启动时,运行所述应用启动类,并通过所述目标类,加载需要使用的组件。本申请能够实现组件的按需加载。件的按需加载。件的按需加载。

【技术实现步骤摘要】
一种基于注解的组件加载方法、系统、终端及存储介质


[0001]本申请涉及计算机
,特别是涉及一种于注解的组件加载方法、系统、终端及存储介质。

技术介绍

[0002]随着互联网技术的发展,各类基础技术迭代也在不断更新,系统业务功能的运行也离不开一些中间件的支持。在大数据系统中会经常用到Hadoop(Hadoop是一个由Apache基金会所开发的分布式系统基础架构)的组件,如HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),HIVE(HIVE是基于Hadoop的一个数据仓库工具),YARN(Yet Another Resource Negotiator,另一种资源协调者,是一种新的Hadoop资源管理器)等一系列的组件。
[0003]大数据系统在使用组件过程中,需要对相应的组件进行连接,现有的组件加载方法中,一般通过配置文件的方式进行组件的加载连接,但在大数据系统中因为加载组件过多,现有的组件加载连接方式过于复杂,而且配置文件的无法动态改动,使得无法灵活切换配置,无法进行按需加载组件。
[0004]因此,如何实现组件的按需加载,是本领域技术人员亟待解决的技术问题。

技术实现思路

[0005]为解决上述技术问题,本申请提供一种基于注解的组件加载方法,能够实现组件的按需加载。本申请还提供一种基于注解的组件加载系统、终端及存储介质,具有相同的技术效果。
[0006]本申请的第一个目的为提供一种基于注解的组件加载方法。
[0007]本申请的上述申请目的一是通过以下技术方案得以实现的:一种基于注解的组件加载方法,包括:获取在应用程序源代码中预先创建好的目标类,其中,所述目标类包括:基础组件加载抽象类、组件实现类、自动加载组件的自定义注解类、自动加载组件类和加载组件常量类;在所述自动加载组件的自定义注解类上添加所述自动加载组件类;获取所述应用程序的应用启动类,并在所述应用启动类上添加所述自动加载组件的自定义注解类,注解的值为所述加载组件常量类里配置的组件的常量属性字段;在所述应用程序启动时,运行所述应用启动类,并通过所述目标类,加载需要使用的组件;其中,所述运行所述应用启动类,并通过所述目标类,加载需要使用的组件,包括:运行所述应用启动类,通过所述应用启动类上添加的所述自动加载组件的自定义注解类和所述加载组件常量类里配置的组件,配置需要使用的组件;通过所述自动加载组件的自定义注解类上添加的所述自动加载组件类,运行所述
自动加载组件类中的方法函数;获取所述自动加载组件的自定义注解类需要使用的组件的配置数据;获取所有继承了所述基础组件加载抽象类的组件实现类集合;根据所述配置数据,加载所述组件实现类集合中对应的所述组件实现类,以加载需要使用的组件。
[0008]优选地,所述基于注解的组件加载方法中,还包括:在所述应用程序使用时,通过所述基础组件加载抽象类,来实现组件加载配置文件的动态更换。
[0009]优选地,所述基于注解的组件加载方法中,所述通过所述基础组件加载抽象类,来实现组件加载配置文件的动态更换,包括:通过所述基础组件加载抽象类的loadFile方法函数,通过数据的动态查询,来实现组件加载配置文件的动态更换。
[0010]优选地,所述基于注解的组件加载方法中,还包括:在所述应用程序使用时,通过所述基础组件加载抽象类,来实现组件加载使用方式的统一。
[0011]优选地,所述基于注解的组件加载方法中,通过所述基础组件加载抽象类,来实现组件加载使用方式的统一,包括:通过所述基础组件加载抽象类的load方法函数,使用抽象工厂模式,来实现组件加载使用方式的统一。
[0012]优选地,所述基于注解的组件加载方法中,所述组件实现类包括HDFS加载类和YARN加载类,其中:所述HDFS加载类,继承所述基础组件加载抽象类,用于实现load和getType方法函数;所述YARN加载类,继承所述基础组件加载抽象类,用于实现load和getType方法函数。
[0013]本申请的第二个目的为提供一种基于注解的组件加载系统。
[0014]本申请的上述申请目的二是通过以下技术方案得以实现的:一种基于注解的组件加载系统,包括:获取单元,用于获取在应用程序源代码中预先创建好的目标类,其中,所述目标类包括:基础组件加载抽象类、组件实现类、自动加载组件的自定义注解类、自动加载组件类和加载组件常量类;第一注解单元,用于在所述自动加载组件的自定义注解类上添加所述自动加载组件类;第二注解单元,用于获取所述应用程序的应用启动类,并在所述应用启动类上添加所述自动加载组件的自定义注解类,注解的值为所述加载组件常量类里配置的组件的常量属性字段;加载单元,用于在所述应用程序启动时,运行所述应用启动类,并通过所述目标类,加载需要使用的组件;其中,所述加载单元,在执行所述运行所述应用启动类,并通过所述目标类,加载
需要使用的组件时,具体用于:运行所述应用启动类,通过所述应用启动类上添加的所述自动加载组件的自定义注解类和所述加载组件常量类里配置的组件,配置需要使用的组件;通过所述自动加载组件的自定义注解类上添加的所述自动加载组件类,运行所述自动加载组件类中的方法函数;获取所述自动加载组件的自定义注解类需要使用的组件的配置数据;获取所有继承了所述基础组件加载抽象类的组件实现类集合;根据所述配置数据,加载所述组件实现类集合中对应的所述组件实现类,以加载需要使用的组件。
[0015]本申请的第三个目的为提供一种基于注解的组件加载终端。
[0016]本申请的上述申请目的三是通过以下技术方案得以实现的:一种基于注解的组件加载终端,包括:存储介质和处理器;所述存储介质内存储计算机执行指令;所述处理器执行所述存储介质存储的计算机执行指令,以实现上述基于注解的组件加载方法中任一所述方法。
[0017]本申请的第四个目的为提供一种计算机可读存储介质。
[0018]本申请的上述申请目的四是通过以下技术方案得以实现的:一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述基于注解的组件加载方法中任一所述方法。
[0019]上述技术方案,通过在应用程序源代码中预先创建好的目标类,其中,目标类包括:基础组件加载抽象类、组件实现类、自动加载组件的自定义注解类、自动加载组件类和加载组件常量类;在自动加载组件的自定义注解类上添加自动加载组件类;获取应用程序的应用启动类,并在应用启动类上添加自动加载组件的自定义注解类,注解的值为加载组件常量类里配置的组件的常量属性字段;在应用程序启动时,运行应用启动类,并通过目标类,加载需要使用的组件,具体包括:运行应用启动类,通过应用启动类上添加的自动加载组件的自定义注解类和加载组件常量类里配置的组件,配置需要使用的组件;通过自动加载组件的自定义注解类上添加的自动加载组件类,运行自动加载组件类中的方法函数;获取自动加载组件的自定义注解类需要使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于注解的组件加载方法,其特征在于,包括:获取在应用程序源代码中预先创建好的目标类,其中,所述目标类包括:基础组件加载抽象类、组件实现类、自动加载组件的自定义注解类、自动加载组件类和加载组件常量类;在所述自动加载组件的自定义注解类上添加所述自动加载组件类;获取所述应用程序的应用启动类,并在所述应用启动类上添加所述自动加载组件的自定义注解类,注解的值为所述加载组件常量类里配置的组件的常量属性字段;在所述应用程序启动时,运行所述应用启动类,并通过所述目标类,加载需要使用的组件;其中,所述运行所述应用启动类,并通过所述目标类,加载需要使用的组件,包括:运行所述应用启动类,通过所述应用启动类上添加的所述自动加载组件的自定义注解类和所述加载组件常量类里配置的组件,配置需要使用的组件;通过所述自动加载组件的自定义注解类上添加的所述自动加载组件类,运行所述自动加载组件类中的方法函数;获取所述自动加载组件的自定义注解类需要使用的组件的配置数据;获取所有继承了所述基础组件加载抽象类的组件实现类集合;根据所述配置数据,加载所述组件实现类集合中对应的所述组件实现类,以加载需要使用的组件。2.如权利要求1所述的方法,其特征在于,还包括:在所述应用程序使用时,通过所述基础组件加载抽象类,来实现组件加载配置文件的动态更换。3.如权利要求2所述的方法,其特征在于,所述通过所述基础组件加载抽象类,来实现组件加载配置文件的动态更换,包括:通过所述基础组件加载抽象类的loadFile方法函数,通过数据的动态查询,来实现组件加载配置文件的动态更换。4.如权利要求1所述的方法,其特征在于,还包括:在所述应用程序使用时,通过所述基础组件加载抽象类,来实现组件加载使用方式的统一。5.如权利要求4所述的方法,其特征在于,通过所述基础组件加载抽象类,来实现组件加载使用方式的统一,包括:通过所述基础组件加载抽象类的load方法函数,使用抽象工厂模式,来实现组件加载使用方式的统一。6.如权利要求1所述的方法,其特征...

【专利技术属性】
技术研发人员:廖振伟李国庆左勇
申请(专利权)人:智慧眼科技股份有限公司
类型:发明
国别省市:

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

1