一种代码自动生成方法及系统的制作方法

文档序号:6632443阅读:468来源:国知局
一种代码自动生成方法及系统的制作方法
【专利摘要】本发明涉及一种代码自动生成方法及系统,包括以下步骤:抽取J2EE工程中每一层的所有业务组件的代码,分别比较每一层的所有业务组件中的代码,保留所有业务组件中完全一致的代码段,并利用模板变量替换不一致的代码段,分别形成每一层的代码模板;根据每一层的代码模板及模板变量,构建代码生成模块;获取用户输入的待创建的业务组件的特性信息,根据所述特性信息替换对应的模板变量;根据代码模板及替换后的各层模板变量,利用代码生成模块生成待生成的业务组件。本发明节省了将每个模块都从头到尾开发一遍的人力成本;通用代码自动化完成,减少手工编写代码的出错率。
【专利说明】一种代码自动生成方法及系统

【技术领域】
[0001]本发明涉及一种J2EE代码开发工具,特别涉及一种代码自动生成方法及系统。

【背景技术】
[0002]日常程序开发过程中,如果有一个管理模块需要添加,是基于数据库表的增加、删除、修改、查询操作的功能开发。那么传统的做法是由人工去开发出Act1n层、Service层、DAO层、VO层、开发页面层等代码,同时在xml中注册bean和act1n信息,所有功能开发完成后需要经过多次人工测试后才算完成。模块多了,造成大量的工作量。


【发明内容】

[0003]本发明所要解决的技术问题是提供一种能够根据配置的各层的模板变量的代码自动生成方法及系统。
[0004]本发明解决上述技术问题的技术方案如下:一种代码自动生成方法,包括以下步骤:
[0005]步骤1:抽取J2EE工程中每一层的所有业务组件的代码,分别比较每一层的所有业务组件中的代码,保留所有业务组件中完全一致的代码段,并利用模板变量替换不一致的代码段,分别形成每一层的代码模板;
[0006]步骤2:根据每一层的代码模板及模板变量,构建代码生成模块;
[0007]步骤3:获取用户输入的待创建的业务组件的特性信息,根据所述特性信息替换对应的模板变量;
[0008]步骤4:根据代码模板及替换后的各层模板变量,利用代码生成模块生成待生成的业务组件。
[0009]本发明的有益效果是:本发明节省了将每个模块都从头到尾开发一遍的人力成本;通用代码自动化完成,减少手工编写代码的出错率。
[0010]在上述技术方案的基础上,本发明还可以做如下改进。
[0011]进一步,所述步骤2与步骤3之间还包括步骤2.1:在数据库中创建数据库表,所述数据库表用于存储待创建的业务组件的信息;
[0012]所述步骤4中还包括:将生成的业务组件的信息存储于数据表中。
[0013]进一步,所述J2EE工程中每一层的所有业务组件的代码包括:act1n层JAVA代码、service层JAVA代码、dao层JAVA代码、页面层代码、体现依赖和关联关系的xml文件。
[0014]进一步,所述用户输入的待创建的业务组件的特性信息包括数据库表名、主键、在管理页面上待显示的字段名、待显示的数据类型、待显示的显示名称和代码各层存放路径。
[0015]进一步,所述待生成的业务组件为基于数据库表的,且具有增加、删除、修改、查询、分页或搜索功能的通用组件。
[0016]进一步,一种代码自动生成系统,包括抽取模块,构建模块,替换模块和生成模块;
[0017]所述抽取模块,用于抽取J2EE工程中每一层的所有业务组件的代码,分别比较每一层的所有业务组件中的代码,保留所有业务组件中完全一致的代码段,并利用模板变量替换不一致的代码段,分别形成每一层的代码模板;
[0018]所述构建模块,用于根据每一层的代码模板及模板变量,构建代码生成模块;
[0019]所述替换模块,用于获取用户输入的待创建的业务组件的特性信息,根据所述特性信息替换对应的模板变量;
[0020]所述生成模块,用于根据代码模板及替换后的各层模板变量,利用代码生成模块生成待生成的业务组件。
[0021]进一步,还包括所述创建模块,用于在数据库中创建数据库表,所述数据库表用于存储待创建的业务组件的信息;所述生成模块还用于将生成的业务组件的信息存储于数据表中。
[0022]进一步,所述J2EE工程中每一层的所有业务组件的代码包括:act1n层JAVA代码、service层JAVA代码、dao层JAVA代码、页面层代码、体现依赖和关联关系的xml文件。
[0023]进一步,所述用户输入的待创建的业务组件的特性信息包括数据库表名、主键、在管理页面上待显示的字段名、待显示的数据类型、待显示的显示名称和代码各层存放路径。
[0024]进一步,所述待生成的业务组件为基于数据库表的、具有增加、删除、修改、查询、分页或搜索功能的通用组件。

【专利附图】

【附图说明】
[0025]图1为本发明方法步骤流程图;
[0026]图2为本发明装置结构图。
[0027]附图中,各标号所代表的部件列表如下:
[0028]1、抽取模块,2、构建模块,3、替换模块,4、生成模块,5、创建模块。

【具体实施方式】
[0029]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0030]如图1所示,为本发明方法步骤流程图;图2为本发明装置结构图。
[0031]实施例1
[0032]一种代码自动生成方法,包括以下步骤:
[0033]步骤1:抽取J2EE工程中每一层的所有业务组件的代码,分别比较每一层的所有业务组件中的代码,保留所有业务组件中完全一致的代码段,并利用模板变量替换不一致的代码段,分别形成每一层的代码模板;
[0034]步骤2:根据每一层的代码模板及模板变量,构建代码生成模块;
[0035]步骤3:获取用户输入的待创建的业务组件的特性信息,根据所述特性信息替换对应的模板变量;
[0036]步骤4:根据代码模板及替换后的各层模板变量,利用代码生成模块生成待生成的业务组件。
[0037]所述步骤2与步骤3之间还包括步骤2.1:在数据库中创建数据库表,所述数据库表用于存储待创建的业务组件的信息;
[0038]所述步骤4中还包括:将生成的业务组件的信息存储于数据表中。
[0039]所述J2EE工程中每一层的所有业务组件的代码包括:act 1n层JAVA代码、service层JAVA代码、dao层JAVA代码、页面层代码、体现依赖和关联关系的xml文件。
[0040]所述用户输入的待创建的业务组件的特性信息包括数据库表名、主键、在管理页面上待显示的字段名、待显示的数据类型、待显示的显示名称和代码各层存放路径。
[0041]所述待生成的业务组件为基于数据库表的,且具有增加、删除、修改、查询、分页或搜索功能的通用组件。
[0042]一种代码自动生成系统,包括抽取模块I,构建模块2,替换模块3和生成模块4 ;
[0043]所述抽取模块1,用于抽取J2EE工程中每一层的所有业务组件的代码,分别比较每一层的所有业务组件中的代码,保留所有业务组件中完全一致的代码段,并利用模板变量替换不一致的代码段,分别形成每一层的代码模板;
[0044]所述构建模块2,用于根据每一层的代码模板及模板变量,构建代码生成模块;
[0045]所述替换模块3,用于获取用户输入的待创建的业务组件的特性信息,根据所述特性信息替换对应的模板变量;
[0046]所述生成模块4,用于根据代码模板及替换后的各层模板变量,利用代码生成模块生成待生成的业务组件。
[0047]还包括所述创建模块5,用于在数据库中创建数据库表,所述数据库表用于存储待创建的业务组件的信息;所述生成模块4还用于将生成的业务组件的信息存储于数据表中。
[0048]所述J2EE工程中每一层的所有业务组件的代码包括:ac t i on层JAVA代码、service层JAVA代码、dao层JAVA代码、页面层代码、体现依赖和关联关系的xml文件。
[0049]所述用户输入的待创建的业务组件的特性信息包括数据库表名、主键、在管理页面上待显示的字段名、待显示的数据类型、待显示的显示名称和代码各层存放路径。
[0050]所述待生成的业务组件为基于数据库表的、具有增加、删除、修改、查询、分页或搜索功能的通用组件。
[0051]在具体实施中,本申请包括如下步骤:
[0052]步骤1:抽取J2EE工程中每一层(act1n层JAVA代码、service层JAVA代码、dao层JAVA代码、页面层代码、体现依赖和关联关系的xml文件,后面简称‘每一层’或‘各层’)的代码规律。针对每一层代码,保留出完全一致的代码,用模板变量来替换那些不一致的代码,最终形成对应每一层的代码模版;
[0053]步骤2:根据第I步抽取的每一层代码模板,编写一个代码生成主程序(用于生成新管理模块代码的主程序)。该主程序允许传入新管理模块对应的参数(参数见第4步),其作用就是通过该主程序,可以将每一层的代码模板中的模板变量替换为实际对应的代码,完成新管理模块代码的生成;
[0054]步骤3:第I步和第2步为预先完成的部分,需要开发一个新管理模块时,在数据库中,将需新开发的管理模块涉及到的数据库表创建完成,用于存储该模块的数据;
[0055]步骤4:在代码生成主程序(用于生成新管理模块代码的主程序)中,以赋予参数的方式填入新管理模块对应的数据库表名、主键、想在管理页面上显示的字段名及数据类型和对应的显示名称、代码各层存放路径;
[0056]步骤5:运行代码生产主程序,会将第I步每一层的代码模板提取出来,用第4步输入的参数,将各层的代码模板中的模板变量替换为实际对应的代码,代码生成完毕;
[0057]步骤6:—个新的模块的常规通用功能就开发完成了,包含了增加、删除、修改、查询、分页、搜索功能;程序员只需开发该模块中涉及到的个性代码即可,大大节约了开发时间。
[0058]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种代码自动生成方法,其特征在于,包括以下步骤: 步骤1:抽取J2EE工程中每一层的所有业务组件的代码,分别比较每一层的所有业务组件中的代码,保留所有业务组件中完全一致的代码段,并利用模板变量替换不一致的代码段,分别形成每一层的代码模板; 步骤2:根据每一层的代码模板及模板变量,构建代码生成模块; 步骤3:获取用户输入的待创建的业务组件的特性信息,根据所述特性信息替换对应的模板变量; 步骤4:根据代码模板及替换后的各层模板变量,利用代码生成模块生成待生成的业务组件。
2.根据权利要求1所述的代码自动生成方法,其特征在于,所述步骤2与步骤3之间还包括步骤2.1:在数据库中创建数据库表,所述数据库表用于存储待创建的业务组件的信息; 所述步骤4中还包括:将生成的业务组件的信息存储于数据表中。
3.根据权利要求1所述的代码自动生成方法,其特征在于,所述J2EE工程中每一层的所有业务组件的代码包括:act1n层JAVA代码、service层JAVA代码、dao层JAVA代码、页面层代码、体现依赖和关联关系的xml文件。
4.根据权利要求1所述的代码自动生成方法,其特征在于:所述用户输入的待创建的业务组件的特性信息包括数据库表名、主键、在管理页面上待显示的字段名、待显示的数据类型、待显示的显示名称和代码各层存放路径。
5.根据权利要求1所述的代码自动生成方法,其特征在于:所述待生成的业务组件为基于数据库表的,且具有增加、删除、修改、查询、分页或搜索功能的通用组件。
6.—种代码自动生成系统,其特征在于:包括抽取模块(I),构建模块(2),替换模块(3)和生成模块⑷; 所述抽取模块(I),用于抽取J2EE工程中每一层的所有业务组件的代码,分别比较每一层的所有业务组件中的代码,保留所有业务组件中完全一致的代码段,并利用模板变量替换不一致的代码段,分别形成每一层的代码模板; 所述构建模块(2),用于根据每一层的代码模板及模板变量,构建代码生成模块; 所述替换模块(3),用于获取用户输入的待创建的业务组件的特性信息,根据所述特性信息替换对应的模板变量; 所述生成模块(4),用于根据代码模板及替换后的各层模板变量,利用代码生成模块生成待生成的业务组件。
7.根据权利要求6所述的代码自动生成系统,其特征在于,还包括所述创建模块(5),用于在数据库中创建数据库表,所述数据库表用于存储待创建的业务组件的信息;所述生成模块(4)还用于将生成的业务组件的信息存储于数据表中。
8.根据权利要求6所述的代码自动生成系统,其特征在于,所述J2EE工程中每一层的所有业务组件的代码包括:act1n层JAVA代码、service层JAVA代码、dao层JAVA代码、页面层代码、体现依赖和关联关系的xml文件。
9.根据权利要求6所述的代码自动生成系统,其特征在于:所述用户输入的待创建的业务组件的特性信息包括数据库表名、主键、在管理页面上待显示的字段名、待显示的数据类型、待显示的显示名称和代码各层存放路径。
10.根据权利要求6所述的代码自动生成系统,其特征在于:所述待生成的业务组件为基于数据库表的、具有增加、删除、修改、查询、分页或搜索功能的通用组件。
【文档编号】G06F9/44GK104331285SQ201410599156
【公开日】2015年2月4日 申请日期:2014年10月30日 优先权日:2014年10月30日
【发明者】陆洋智 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1