代码生成方法及装置制造方法及图纸

技术编号:4254542 阅读:191 留言:0更新日期:2012-04-11 18:40
一种代码生成方法及装置,是在J2EE开源的整合框架下生成代码,其包括:a.根据业务情况,选择需要生成的展示类型;b.根据数据源的情况,建立统一模型,该数据源包括:JAVA对象、XML数据、关系数据库的物理表或JSON数据;c.根据统一模型的情况,确定实体类的类路径;d.根据统一模型情况,对实体的属性进行加工;以及e.根据实体的属性,生成代码文件,该代码文件包括:后台代码、前台代码和配置代码。可以很好地解决现有框架技术所不能解决的业务代码重复的问题以及代码规范与统一的问题。

【技术实现步骤摘要】

本专利技术涉及程序控制装置,尤其涉及用于执行专门程序的装置。
技术介绍
随着J2EE(JAVA2平台版)技术的发展,hibernate框架、spring框架和webwork/struts等轻型开源框架越来越多地被软件开发公司应用于B/S业务处理。这些轻型开源框架,具有轻量级、通用以及良好的扩展性等特点,可帮助解决项目开发的一些核心技术难点问题,比如开发人员不用去考虑框架的稳定性,性能以及扩展等问题。 但是,框架只能决定整个项目的开发模式、解决一些通用性的问题,还有一些问题是其无法解决的,例如 业务代码重复的问题。因为框架是无法知道项目业务的,那么可能会有人做一系列的业务组件来解决这个业务代码重复的问题,比如将一些业务类似的模块做成一个组件,这种业务组件式开发可以提高代码的重用性,但是这么多的业务模块必须是业务一摸一样的,而事实上是大部分业务有部分很相似、但又有部分完全不同的,只要存在一点点的不同,哪怕是一个验证的规则不同,就可能需要对这个组件进行修改/调整。由于实际需求的变化在项目开发过程是无法完全掌控的,也就是说,难以保证需求不会发生改变,所以,用这种业务组件的做法虽然可以解决代码重复的问题,但它必须采用滚雪球模式来满足日益变化的需求,而随着雪球越滚越大,这种做法会越来越低效,甚至难以维系。代码规范与统一的问题。因为这个更加依赖于一个项目开发规范的管理,它会占用项目经理的很多精力,比如一次又一次地做代码评审和代码走查,而且也很难达到令人满意的效果,并且还有可能增加开发人员和项目经理的矛盾。 展示层的开发效率与统一性问题。虽然开源的框架提供了丰富的模板技术,但是 模板技术只能解决展示层的一小部分的问题,开发人员还是要针对不同的业务做展示层, 有数据表明,在这种B/S模式开发下,展示层的代码量要占总代码量60X以上。另外,展示 层风格的统一也是对项目开发者的专业化水平的要求之一。
技术实现思路
本专利技术旨在克服现有技术的不足,而提出一种可以解决上述框架所不能解决的问 题的代码生成方法及装置。 为了实现上述目的,本专利技术提出一种代码生成方法,用以在J2EE开源的整合框架 下生成代码,包括以下步骤 a.根据业务情况,选择需要生成的展示类型; b.根据数据源的情况,建立统一模型,该数据源包括JAVA对象、XML数据、关系数 据库的物理表或JS0N数据; c.根据统一模型的情况,确定实体类的类路径; d.根据统一模型情况,对实体的属性进行加工;以及, e.根据实体的属性,生成代码文件,该代码文件包括后台代码、前台代码和配置 代码。该步骤a中的展示类型包括单表、树型加单表、主从表以及树型加主从表。该步骤b中的建立数据模型是在一人机界面下操作实现的。该步骤d中的对实体的属性进行加工是在一人机界面下操作实现的。该步骤e中的生成代码文件的过程进一步包括在一人机界面下对初试的统一模型进行加工,然后通过XML文件将其转换为一精细的统一模型。 本专利技术的代码生成方法还包括以下步骤f、将步骤d加工好的实体的属性保存为 模板,所述模板仅包含用以加工的人机界面的页面信息。该步骤e中的生成代码文件的过程进一步包括生成代码查看的界面。 为了实现上述目的,本专利技术还提出一种代码生成装置,用以在J2EE开源的整合框架下生成代码,其包括 —展示类型选择装置,用以根据业务情况,选择需要生成的展示类型; —同一模型建立装置,用以根据数据源的情况,建立统一模型,该数据源包括JAVA对象、XML数据、关系数据库的物理表或JSON数据; —类路径选择装置,用以根据统一模型的情况,确定实体类的类路径; —实体属性加工装置,用以根据统一模型情况,对实体的属性进行加工;以及, —代码生成装置,用以根据实体的属性,生成代码文件,该代码文件包括后台代码、前台代码和配置代码。 该代码生成装置设置在一 B/S应用服务器中。 与现有技术相比,本专利技术的代码生成方法及装置,不采用业务组件这种滚雪球的 模式,而是为每一个不同的业务都生成公用的代码,当然生成的是最基本的没有包含业务 逻辑的代码,开发人员在生成后的代码上添加相应的业务逻辑,就得到一完整的业务。并 且,由于代码是生成出来的,那么所有开发人员的代码风格是统一的,统一风格的代码会为 以后的维护带来很大的好处。最终,可提高展示层的开发效率和展示层的风格的统一,将大 部分的厌烦做展示层的开发人员解放出来,他们基本上不用管展示层的风格布局,也不用 管客户端的共性的验证。附图说明 图1为本专利技术的代码生成方法的流程图; 图2为本专利技术的代码生成方法的支持多种数据格式的示意图; 图3为本专利技术的代码生成方法的输入数据模型的人机界面示意图; 图4为本专利技术的代码生成方法的模型属性列表的人机界面示意图; 图5为本专利技术的代码生成方法的形成统一模型的流程图; 图6为本专利技术的代码生成方法的生成代码的查看界面示意图。具体实施例方式以下结合附图,对本专利技术予以进一步地详尽阐述。 由于基本上针对B/S应用,本专利技术的代码生成方法所需要的环境包括一个应用4服务器,比如tomcat服务器,并将本专利技术所对应的web页面拷贝到该应用服务器下,启动 tomcat服务器即可实施本专利技术的代码生成方法。 本专利技术的代码生成方法的工作流程图,如图1所示,其具体包括 步骤101 :选择需要生成的展示模型。通常地,可将将展示模型定制为单表,树型+单表,主从表,以及树型+主从表四种模式; 步骤102 :输入数据模型的人机模型,首先,进入如图2所示的人机界面,在这个人 机界面里面,可以设定好代码最终生成的路径,模块的名称,以及,最重要的输入一种数据 模型,本专利技术优选地采用实体模型,这就要求开发人员将设计好的实体写成Java的实体对 象; 步骤103 :再在此人机界面上输入Java的类路径; 步骤104 :本专利技术利用Java的反射原理,将次实体对象转化为本专利技术的实体模型, 再将这个实体模型的属性的信息展示出来。在这里,本专利技术之所以也设计一种模型,是考 虑本专利技术的扩充应用,因为数据模型除了 java实体对象外,也可以是数据表,xml数据以及 json数据等,但无论数据模型如何,参见图3,本专利技术都可将它们转化为本专利技术的统一模型 对象; 步骤105 :进入模型属性列表的人机界面,在这个人机界面上对实体属性进行加 工,在这里只要将一个已经写好的Java实体类的路径输入后,点击确定就可以出现如图4 的页面。需要说明的是这个Java实体类是需要开发人员预先准备好的,怎样生成这个 Java实体类,并不属于本专利技术要解决的技术问题的范畴,因为市面上已经有很多工具可以 提供支持,比如uml的工具可以将uml图转成java类,hibernate也有工具将关系数据库 的表结构生成java类,也就是说,实体类的准备可以借助外部的一些工具来实现; 步骤106 :保存模板,这是本专利技术的一个附加功能,就是将一些加工的信息保存下 来,因为在生成过程中可能会有一些信息输入错误需要重新生成,那么将加工信息保存到 模板可以节省重新填写附加属性的时间。本专利技术将这些模板进行持久化,当下一次再进入 本专利技术来生成代码的时候,也可以直接选择已有的模板。当然,在这里用了比较巧妙的做 法,本专利技术只是将页面信息保存到了模板本文档来自技高网
...

【技术保护点】
一种代码生成方法,用以在J2EE开源的整合框架下生成代码,其特征在于,包括以下步骤:a.根据业务情况,选择需要生成的展示类型;b.根据数据源的情况,建立统一模型,该数据源包括:JAVA对象、XML数据、关系数据库的物理表或JSON数据;c.根据统一模型的情况,确定实体类的类路径;d.根据统一模型情况,对实体的属性进行加工;以及,e.根据实体的属性,生成代码文件,该代码文件包括:后台代码、前台代码和配置代码。

【技术特征摘要】
一种代码生成方法,用以在J2EE开源的整合框架下生成代码,其特征在于,包括以下步骤a.根据业务情况,选择需要生成的展示类型;b.根据数据源的情况,建立统一模型,该数据源包括JAVA对象、XML数据、关系数据库的物理表或JSON数据;c.根据统一模型的情况,确定实体类的类路径;d.根据统一模型情况,对实体的属性进行加工;以及,e.根据实体的属性,生成代码文件,该代码文件包括后台代码、前台代码和配置代码。2. 如权利要求1所述的代码生成方法,其特征在于,该步骤a中的展示类型包括单表、树型加单表、主从表以及树型加主从表。3. 如权利要求l所述的代码生成方法,其特征在于,该步骤b中的建立数据模型是在一 人机界面下操作实现的。4. 如权利要求1所述的代码生成方法,其特征在于,该步骤d中的对实体的属性进行加 工是在一人机界面下操作实现的。5. 如权利要求1所述的代码生成方法,其特征在于,该步骤e中的生成代码文件的过程 进一步包括在一人机界面下对初试的统一模型进行加工,然后通过XML文件将其转换为 一精细的统一模型。6...

【专利技术属性】
技术研发人员:方晓
申请(专利权)人:广东金宇恒科技有限公司
类型:发明
国别省市:44[中国|广东]

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

1