一种生成JAVA类对象的方法及电子设备技术

技术编号:21298001 阅读:27 留言:0更新日期:2019-06-12 07:28
本发明专利技术实施例提供一种生成JAVA类对象的方法及电子设备,涉及数据处理领域。本发明专利技术实施例能够直接利用JAVA类的定义文件将XML文档转换为JAVA类对象,不需要额外的XML文档来描述转换规则,提高了转换效率。同时,由于属性注解放置在定义文件中,因此不管是描述、修改或者调试都比较简洁易懂。该生成JAVA类对象的方法,包括:获取JAVA类对象的定义文件和XML文档;读取定义文件中的属性注解;根据属性注解,将XML文档中的XML数据填充至定义文件中,生成为JAVA类对象。本发明专利技术应用于生成JAVA类对象。

【技术实现步骤摘要】
一种生成JAVA类对象的方法及电子设备
本专利技术涉及数据处理领域,尤其涉及一种生成JAVA类对象的方法及电子设备。
技术介绍
目前电子设备在处理业务时,经常需要引入外部的参数配置,简单的外部参数会放置在文本文件中,比较复杂的外部参数一般放置在XML文档中,此时就需要一个从外部XML文档读入参数并解析为JAVA类文件的过程,这个过程称之为OXM。由于XML文档本身比较适合描述数据,其中不包含上下文,因此现有技术中需要使用额外的文档来描述XML文档数据到JAVA类文件之间的映射规则,这样一来对于映射规则的配置就会特别复杂。
技术实现思路
本专利技术的的实施例提供一种生成JAVA类对象的方法及电子设备,能够直接利用JAVA类的定义文件将XML文档转换为JAVA类对象,不需要额外的XML文档来描述转换规则,提高了转换效率。同时,由于属性注解放置在定义文件中,因此不管是描述、修改或者调试都比较简洁易懂。为了达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种生成JAVA类对象的方法,包括:获取JAVA类对象的定义文件和XML文档;读取定义文件中的属性注解;根据属性注解,将XML文档中的XML数据填充至定义文件中,生成为JAVA类对象。可选的,读取定义文件中的属性注解,具体包括;利用JAVA的反射机制,依次读取定义文件中的属性域,获取属性域中的属性注解;根据属性注解,将XML文档中的XML数据填充至定义文件中,具体包括:根据属性注解,确定属性域对应的属性需要填充的数据以及填充方式,并按照填充方式将XML文档中的XML数据填充至属性域对应的属性。可选的,属性注解至少包括:属性、属性元素、元素以及元素集中的一种。可选的,在根据属性注解,将XML文档中的XML数据填充至定义文件中之前,方法还包括:将XML文档解析为Element树结构的数据;根据属性注解,将XML文档中的XML数据填充至定义文件中,具体包括:根据属性注解,将Element树结构的数据填充至定义文件中。第二方面,本专利技术实施例提供一种电子设备,包括:获取单元,用于获取JAVA类对象的定义文件和XML文档;读取单元,用于在获取单元获取JAVA类对象的定义文件后,读取定义文件中的属性注解;生成单元,用于在读取单元读取定义文件中的属性注解后,根据属性注解,将XML文档中的XML数据填充至定义文件中,生成为JAVA类对象。可选的,读取单元,具体用于利用JAVA的反射机制,依次读取定义文件中的属性域,获取属性域中的属性注解;生成单元,具体用于根据属性注解,确定属性域对应的属性需要填充的数据以及填充方式,并按照填充方式将XML文档中的XML数据填充至属性域对应的属性。可选的,属性注解至少包括:属性、属性元素、元素以及元素集中的一种。可选的,电子设备还包括:解析单元,用于将XML文档解析为Element树结构的数据;生成单元,具有用于根据属性注解,将Element树结构的数据填充至定义文件中。第三方面,本专利技术实施例提供一种电子设备,包括:处理器、存储器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,当电子设备运行时,处理器执行上述存储器存储的上述计算机执行指令,以使电子设备执行如权利要求1-4中任一项的生成JAVA类对象的方法。第四方面,本专利技术实施例提供一种计算机存储介质,包括指令,当其在电子设备上运行时,使得电子设备执行如权利要求1-4中任一项的生成JAVA类对象的方法。本专利技术实施例所提供的生成JAVA类对象的方法中,在将XML数据映射为JAVA类对象时,不再需要配置XML数据的填充方式,而是通过读取JAVA类的定义文档中的属性注解,即可确定XML数据的填充方式,进而将XML数据填充至定义文档中,生成JAVA类对象。这样一来,提高了转换效率。同时,不管是描述、修改或者调试都可以直接在JAVA类的定义文档中直接进行,简洁易懂,容易调试和追踪。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为一种定义JAVA类的定义文档示例;图2为一种定义XML数据向JAVA类的填充方式的XML文档示例;图3为一种执行填充过程的代码示例;图4为本专利技术实施例提供的一种系统生成JAVA类对象的方法的流程示意图;图5为本专利技术实施例提供的一种定义JAVA类的定义文档;图6为本专利技术实施例提供的一种电子设备的结构示意图;图7为本专利技术实施例提供的一种电子设备的结构示意图;图8为本专利技术实施例提供的一种电子设备的结构示意图。具体实施方式下面结合附图,对本专利技术的实施例进行描述。首先,对本专利技术的专利技术原理进行介绍:现有技术中在将XML数据转换为JAVA类对象时,通常需要先生成定义JAVA类的定义文档,再生成定义XML数据向JAVA类的填充方式的XML文档,最后按照文档中的填充方式执行填充过程。示例性的,在利用Castor组件实现XML数据向JAVA类对象进行转换时,首先需要生成定义JAVA类的文档1,如图1所示;然后,生成定义XML数据向JAVA类的填充方式的文档2,如图2所示;然后利用文档2中的填充方式,执行填充过程,具体如图3所示。可以看出上述这个转换过程本身是不可定义和修改的,可以自己定义的只是静态数据或者格式。针对上述现有技术的问题,本专利技术实施例中通过将填充方式以属性注解的形式直接放置在JAVA类对象的定义文档中,进而在将XML数据转换为JAVA类对象时,能够直接利用定义文档进行数据填充,提高了转换效率。同时,不管是描述、修改或者调试都可以直接在JAVA类的定义文档中直接进行,简洁易懂,容易调试和追踪。转换的过程可以自由的增加项目中可能要用到的元素、校验等其他处理。基于上述专利技术原理,本专利技术实施例提供一种生成JAVA类对象的方法,如图4所示,该方法具体包括:S101、获取JAVA类对象的定义文件和XML文档。S102、如果指定转换的JAVA类对象为基础类型,则直接生成JAVA类对象;否则,执行步骤S103。S103、读取定义文件中的属性注解。其中属性注解中包含XML数据的填充方式。示例性的,如图5所示,其中@XMLATTribute以后的部分都是属性注解,并且其中利用代码描述了XML数据的填充方式。具体的,可以将属性注解分为四种:属性、属性元素、元素和元素集,属性和属性元素可以直接注入文本或者数值,元素和元素集代表的是一种数据结构(类)的集合,其中又要再细分实现及相关的属性数据等。在一种实现方式中,可以利用JAVA的反射机制,依次读取定义文件中的属性域,获取属性域中的属性注解。具体的,在这一步中依托JAVA代码的能力,将会依次获取每个属性域的填充方式。并且在填充的时候我们的关注点在每个属性上,而不用关注整体结构。而由JAVA类的定义文件本身的结构保证数据结构的完整性和准确性。S104、根据属性注解,将XML文档中的XML数据填充至定义文件中,生成JAVA类对象。具体的,在依次获取定义文件中属性域的属性注解后,可以根据属性注解确定属性域对应的属性需要填充的数据以及填充方式,然后按照确定的填充方式将XML文档中的XML数据填充至属性域对应的属性中。另外,在一种实现方式中,还可以设本文档来自技高网...

【技术保护点】
1.一种生成JAVA类对象的方法,其特征在于,包括:获取JAVA类对象的定义文件和XML文档;读取所述定义文件中的属性注解;所述属性注解中包含XML数据的填充方式;根据所述属性注解,将所述XML文档中的XML数据填充至所述定义文件中,生成JAVA类对象。

【技术特征摘要】
1.一种生成JAVA类对象的方法,其特征在于,包括:获取JAVA类对象的定义文件和XML文档;读取所述定义文件中的属性注解;所述属性注解中包含XML数据的填充方式;根据所述属性注解,将所述XML文档中的XML数据填充至所述定义文件中,生成JAVA类对象。2.根据权利要求1所述生成JAVA类对象的方法,其特征在于,所述读取所述定义文件中的属性注解,具体包括:利用JAVA的反射机制,依次读取所述定义文件中的属性域,获取属性域中的属性注解;所述根据所述属性注解,将所述XML文档中的XML数据填充至所述定义文件中,具体包括:根据属性注解,确定所述属性域对应的属性需要填充的数据以及填充方式,并按照所述填充方式将所述XML文档中的XML数据填充至所述属性域对应的属性。3.根据权利要求1或2所述生成JAVA类对象的方法,其特征在于,所述属性注解至少包括:属性、属性元素、元素以及元素集中的一种。4.根据权利要求1或2所述生成JAVA类对象的方法,其特征在于,在所述根据所述属性注解,将所述XML文档中的XML数据填充至所述定义文件中之前,所述方法还包括:将所述XML文档解析为Element树结构的数据;所述根据所述属性注解,将所述XML文档中的XML数据填充至所述定义文件中,具体包括:根据所述属性注解,将所述Element树结构的数据填充至所述定义文件中。5.一种电子设备,其特征在于,包括:获取单元,用于获取JAVA类对象的定义文件和XML文档;读取单元,用于在所述获取单元获取JAVA类对象的定义文件后,...

【专利技术属性】
技术研发人员:王斌胡淼元杜园园杨彬
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:北京,11

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

1