基于注释生成代码的方法、装置及存储介质制造方法及图纸

技术编号:29099233 阅读:17 留言:0更新日期:2021-06-30 10:10
本申请公开基于注释生成代码的方法、装置及存储介质,涉及研发管理技术领域,该方法包括:获取待转换为代码的接口文档;确定接口文档中待转换的第一目标类,确定第二目标类;对第一目标类设置第一注释标签和第二注释标签,第一注释标签用于指示所述第一目标类为待转换的类,第二注释标签用于指示将第一目标类转换为第二目标类;根据第二注释标签将第一目标类转换为所述第二目标类;将第一注释标签、第二注释标签、第一目标类和第二目标类对接口文档进行编译,以得到接口文档对应的源代码文件。本方案无需编写额外的辅助类来帮助生成转换代码,减少引入依赖,减少测试、部署各环节依赖引入的损耗,同时也会降低运行时虚拟机的负担。担。担。

【技术实现步骤摘要】
基于注释生成代码的方法、装置及存储介质


[0001]本申请涉及计算机
,尤其涉及一种基于注释生成代码的方法、装置及存储介质。

技术介绍

[0002]数据传输对象(Data Transfer Object,DTO)是一种设计模式之间传输数据的软件应用系统,即DTO为负责在应用层和展示层之间传递数据的对象。数据传输目标往往是数据访问对象从数据库中检索数据。数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具有任何行为,除了存储和检索的数据(访问和存取器),而DTO用于将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。
[0003]在数据库技术中,一般使用数据传输对象(Data Transfer Object,DTO)表达对象接口的入参和出参,用实体(Entity)或其他类似概念表达数据库的持久化对象。很多场景下,基于数据库的处理流程会跨越多层,由于DTO和Entity的属性存在很多相同之处,因此,在层与层之间需要对DTO和Entity这两个java对象进行转换。
[0004]目前,主要采用基于注解处理器的映射工具(例如selma)来实现在层与层之间需要对DTO和Entity这两个java对象进行转换。具体来说,基于注解处理器的selma编写专用对象接口,编译时生成实现类,基于实现类实现在层与层之间需要对DTO和Entity这两个java对象进行转换。但是,需要专为selma编写一个专用对象接口,无法直接对DTO和Entity进行转换。

技术实现思路

[0005]本申请实施例提供了一种基于注释生成代码的方法、装置及存储介质,旨在解决现有技术中无法直接对DTO和Entity进行转换的问题。
[0006]第一方面,本申请实施例提供了一种基于注释生成代码的方法,其包括:
[0007]获取待转换为代码的接口文档;
[0008]确定所述接口文档中待转换的第一目标类,以及确定第二目标类;
[0009]对所述第一目标类设置第一注释标签和第二注释标签,所述第一注释标签用于指示所述第一目标类为待转换的类,所述第二注释标签用于指示将所述第一目标类转换为所述第二目标类;
[0010]根据所述第二注释标签将所述第一目标类转换为所述第二目标类;
[0011]将所述第一注释标签、所述第二注释标签、所述第一目标类和所述第二目标类对所述接口文档进行编译,以得到所述接口文档对应的源代码文件。。
[0012]第二方面,本申请实施例提供了一种代码生成装置,其包括:
[0013]获取模块,用于获取待转换为代码的接口文档;
[0014]处理模块,用于确定所述获取模块获取的所述接口文档中待转换的第一目标类,以及确定第二目标类;对所述第一目标类设置第一注释标签和第二注释标签,所述第一注
释标签用于指示所述第一目标类为待转换的类,所述第二注释标签用于指示将所述第一目标类转换为所述第二目标类;根据所述第二注释标签将所述第一目标类转换为所述第二目标类;将所述第一注释标签、所述第二注释标签、所述第一目标类和所述第二目标类对所述接口文档进行编译,以得到所述接口文档对应的源代码文件。
[0015]第三方面,本申请实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于注释生成代码的方法。
[0016]第四方面,本申请实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于注释生成代码的方法。
[0017]本申请实施例提供了一种基于注释生成代码的方法、装置、设备及存储介质,针对跨越多层的场景下,对层与层之间的数据传输对象中的类设置第一注释标签和第二注释标签,然后根据第一注释标签将第一目标类转换为第二目标类,然后根据所述第一注释标签、所述第二注释标签、所述第一目标类和所述第二目标类对所述接口文档进行编译,以得到所述接口文档对应的源代码文件。由于采用了自定义注释标签,所以无需编写额外的辅助类来帮助生成转换代码。此外,由于本申请采用自定义注释标签来帮助生成转换代码,所以无需编写额外的专用对象接口,所以能够做到几乎不引入依赖,减少了测试、部署各环节依赖引入的损耗,同时也会降低运行时虚拟机的负担。
附图说明
[0018]为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本申请实施例提供的基于注释生成代码的方法的流程示意图;
[0020]图2为本申请实施例提供的第一目标类转换为第二目标类的示意图;
[0021]图3为本申请实施例提供的代码生成装置的示意性框图;
[0022]图4为本申请实施例提供的计算机设备的示意性框图。
具体实施方式
[0023]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0024]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0025]还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0026]还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0027]请参阅图1,图1为本申请实施例提供的基于注释生成代码的方法的流程示意图,该基于注释生成代码的方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。如图1所示,该方法包括步骤S101~S105。
[0028]S101、获取待转换为代码的接口文档。
[0029]其中,接口文档是指应用层和展示层之间传递数据的文档,即在软件项目开发过程中调用接口来完成相应的软件设计时需要的文档,也可称作代码。本申请实施例中,接口文档可为DTO。表现层与应用层之间是通过DTO进行交互,DTO是没有行为的POCO对象,其目的只是为了对领域对象进行数据封装,实现层与层之间的数据传递,即DTO注重数据,直接将领域对象的行为暴露给表现层,DTO面向界面UI。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于注释生成代码的方法,其特征在于,所述方法包括:获取待转换为代码的接口文档;确定所述接口文档中待转换的第一目标类,以及确定第二目标类;对所述第一目标类设置第一注释标签和第二注释标签,所述第一注释标签用于指示所述第一目标类为待转换的类,所述第二注释标签用于指示将所述第一目标类转换为所述第二目标类;根据所述第二注释标签将所述第一目标类转换为所述第二目标类;将所述第一注释标签、所述第二注释标签、所述第一目标类和所述第二目标类对所述接口文档进行编译,以得到所述接口文档对应的源代码文件。2.根据权利要求1所述的方法,其特征在于,所述得到所述接口文档对应的源代码文件之后,所述方法还包括:将所述源代码文件添加至目标目录,以及将测试代码添加至测试目录;基于所述测试代码对所述源代码文件进行单元测试,以测试所述源代码文件的正确性。3.根据权利要求2所述的方法,其特征在于,所述第一注释标签和所述第二注释标签均为自定义注释标签;所述对所述第一目标类设置第一注释标签和第二注释标签之前,所述方法还包括:若根据测试需求确定第一目标类是待进行类转换的触发事件,且确定将第一目标类要转换为的类是第二目标类,则确定该第一目标类满足预设的注释标签设置条件;则,所述对所述第一目标类设置第一注释标签和第二注释标签,包括:对所述第一目标类设置所述第一注释标签和所述第二注释标签;将所述第一注释标签与触发事件绑定,所述触发事件为将所述第一目标类转换为所述第二目标类;所述根据所述第二注释标签将所述第一目标类转换为所述第二目标类,包括:当遍历到所述第二目标类时,触发与所述第一注释标签所关联的触发事件,以根据所述第二注释标签将所述第一目标类转换为所述第二目标类。4.根据权利要求1

3中任一项所述的方法,其特征在于,在所述根据所述第二注释标签将所述第一目标类转换为所述第二目标类之前,所述方法还包括:检测当前的应用环境;当检测到所述应用环境中存在特定依赖关系的测试项时,生成特定转换类;将所述特定转换类注入所述接口文档;基于所述特定转换类启动生成器。5.根据权利要求4所述的方法,其特征在于,所述对所述第一目标类设置第一注释标签和第二注...

【专利技术属性】
技术研发人员:梁明
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

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

1