`
pconline900
  • 浏览: 29073 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

开发的一个自动化代码生成的Eclipse插件

阅读更多

偶之前参与做的一个自动化代码生成工具,是基于Eclipse的插件,可以生成从展示层到数据层的所有相关代码,生成的代码可以不需要修改直接运行。

整个原理参考了MDA的思想,可实现从PIM到PSM的转换。目标代码是JSF+Spring+Hiberate的,包括所有的页面 代码和配置文件等,选择模板引擎的时候也比较过velocity,最终由于它不支持代码反复生成给否决了。最后采用了JET+JMerge的方式,Jmerge可以通过代码中特定注释的方式来识别是否需要覆盖目标代码,生成出来的代码可以由开发人员反复发修改反复生成,而不会丢失内容。 有点逆向工程的味道,但也不完全是。


建模的时候元数据模型采用Eclipse EMF进行建模,抽象了一套pim. SWT+JFace做工具的界面,基于Eclipse平台做了一个Eclipse的代码自动生成插件,可以直接产生完整的Eclipse工程。

可扩展性方面,插件还对外提供了扩展的Extention point,可以供第三方基于我们的插件开发新的插件,以适合不同技术的项目(如struts+ibatis)等。

呵呵,其实整个工具的开发工作量不大,很简单,总代码行也就一万六千行左右,主要是设计EMF元数据模型的时候考虑了很久,但带来的效率提升还是很不错的,开发中项目50%以上的代码都可以自动生成。

下面是贴图

 

新建自定义的工程

 

 

选择数据来源

 

 

 

 

测试数据连接

 

 

选择数据模型及数据字典,可以选择多个

 

可以选择修改模型字段的属性

 

 

设置视图模型以及显示相关属性,支持定义正则表达式校验 js校验 定义页面元素为Text Select RadioBox等类型,若为Select RadioBox,可以选择数据字典

 

 

数据字典选择

 

 

 

这里设置页面查询区域的数据,也就是页面上面的查询输入区域

 

设置模型文件的编码等信息

 

若有需要,可以设置一些选项信息,包括代码模板目录,代码合并规则,以及目标代码类别

 

D1621a1b-1e4f-3509-81a2-9586e0263b03

完成后产生的Java工程,包括所有的配置文件 Java代码 JSP页面 数据模型文件等等

 

数据模型编辑器,可以反复修改数据模型,修改后可以更新全部代码,也可以选择更新部分代码

由于使用了Jmerge,之前产生的代码就算开发人员修改了很多,再次产生也不会覆盖,也不需要开发人员拿几次生成代码手工合并,呵呵

 

 

 

 

 最终产生的代码就是一个完整的功能块,可以直接发布到tomcat上运行,界面和楼主的类似,包括列表 增 删 改 查询等几个页面,页面字段的校验,字段的显示样式(selectbox checkbox等等)也都具备了,基本上很少修改,对UI风格不满意可以引入不同风格的代码模板就Ok了

6
10
分享到:
评论
9 楼 赵武艺 2014-06-03  
全是贴图
8 楼 小小诺 2013-10-25  
楼主能共享一下代码吗?很期待!
7 楼 zouruixin 2012-10-26  
有这个思想就够了!我被楼主的论坛回复吸引过来的, 果然有惊喜
6 楼 suyang119 2012-09-18  
为什么不共享代码呢?
5 楼 iamlibo 2010-09-17  
能共享源码吗?
4 楼 guanxb 2008-12-22  
要做代码生成了,来学习学习..
3 楼 弋孤秋 2008-09-20  
发出来呗!
2 楼 40020072 2008-09-05  
打算开元么
1 楼 melin 2008-08-27  
把代码发出来。要不然只能是炫耀了。

相关推荐

    让开发自动化 用 Eclipse 插件提高代码质量

    Eclipse 作为一款流行的开源集成开发环境(IDE),提供了丰富的插件生态系统,能够帮助开发者实现开发过程的自动化,从而提升代码质量。本文将深入探讨如何利用 Eclipse 插件来优化开发流程。 一、Eclipse 插件概述...

    mybatis-generator eclipse自动生成代码插件离线安装包

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,专为简化MyBatis框架的使用而设计。它能够根据数据库表自动生成Java实体类、Mapper接口和XML配置文件,大大提高了开发效率。Eclipse是广受欢迎的Java集成...

    eclipse代码行数统计插件

    "eclipse代码行数统计插件"就是这样一个工具,它能够帮助开发者快速地统计出项目中的代码行数,包括注释和空行。 在Eclipse中,安装和使用代码行数统计插件非常简单。首先,用户需要打开"Windows"菜单,然后选择...

    eclipse android 代码生成插件源码

    为了提高开发效率,许多开发者会利用插件来自动化一些重复性工作,比如自动生成 findViewById 方法和实现 Parcelable 接口的代码。标题中的“eclipse android 代码生成插件源码”就是这样一个工具,它能够帮助开发者...

    自动生成dao的eclipse插件autoDAO

    值得注意的是,虽然自动化的代码生成可以显著提高开发速度,但仍然需要开发者对生成的代码进行审查和调整,确保其符合项目的具体需求和最佳实践。例如,可能需要添加额外的事务管理、错误处理或性能优化代码。 总的...

    Eclipse插件开发学习笔记全篇+源码.rar

    1. 采用Tycho进行构建:Tycho是一个基于Maven的插件构建系统,用于构建无Java应用程序的Eclipse插件。 2. 集成外部工具和框架:如集成Spring框架、Junit测试库等。 3. 网络和云服务:利用Eclipse插件实现与远程...

    eclipse插件开发PDF

    首先,Eclipse是一个用Java编写的开源集成开发环境(IDE),而Eclipse插件开发是指通过编写插件来扩展Eclipse的功能,实现从一个基本的代码编辑器到可以支持多种语言和框架的开发平台。Eclipse插件架构允许开发者...

    NC的Eclipse开发插件

    NC的Eclipse开发插件就是这样的一个插件,专门针对NC系统的开发需求进行了定制。 3. **NC二次开发**:二次开发通常是指在已有软件基础上进行的定制化开发,以满足特定用户或业务的需求。对于NC系统而言,二次开发...

    eclipse插件,根据数据库表自动生成DTO(pojo)插件

    总的来说,这个Eclipse插件通过自动化的方式,帮助开发者快速创建与数据库表对应的DTO和POJO类,减轻了手动编码的工作量,并且利用了现代Java特性如注解,提升了开发效率。对于使用MySQL和Oracle数据库的Java项目,...

    基于Eclipse插件的简易代码生成工具 毕业设计 论文

    通过这个毕业设计,学生不仅能够掌握Eclipse插件开发技术,还能深入理解代码生成的原理和实践,这对于提升软件开发效率,以及培养自动化思维具有重要意义。同时,这样的工具也有助于软件团队标准化代码,提高代码...

    生成eclipse插件配置信息

    总结,生成Eclipse插件配置信息是开发自定义插件的关键步骤,它涉及到插件结构的设计、功能的定义以及与Eclipse核心的交互。通过熟练掌握这些知识,开发者能够为Eclipse打造个性化的开发环境,提高工作效率。

    Eclipse插件之UML反向类图生成工具

    总之,Eclipse插件中的UML反向类图生成工具是Java开发者的一个强大辅助工具,通过它,我们可以从代码中快速提取出结构化信息,增强代码的理解和管理。结合合理的开发实践,可以极大地提升开发效率和代码质量。

    eclipse插件 - 单元测试代码覆盖统计

    5. **集成开发环境**:作为Eclipse的一部分,这个插件无缝融入开发流程,允许开发者在编写和调试代码的同时,实时查看测试覆盖情况,从而实现高效的迭代和优化。 6. **Mountainminds**:这个标签可能是指插件的...

    开发 Eclipse 插件 快速入门

    Eclipse 平台的核心是一个小型的运行时内核,几乎所有的功能都是通过插件实现的。其中,Workbench 和 Workspace 是两个基础插件,分别提供了用户界面扩展点和资源管理功能。Workbench 允许开发者扩展菜单、工具栏和...

    Eclipse插件开发-测试用例自动生成工具.zip

    跨平台开发工具如Xamarin、React Native和Flutter,让开发者使用一种语言或框架编写可以在多个操作系统上运行的应用程序。 文档编写与API管理: 文档生成工具可以自动生成代码注释文档,便于团队内外理解和使用...

    UAP-STUDIO 集成开发环境eclipse插件

    UAP-STUDIO的Eclipse插件就是这样一个扩展,它为Eclipse增加了对UAP-STUDIO项目的支持。 **三、UAP-STUDIO Eclipse插件的安装与使用** 1. **安装步骤:** - 下载`eclipse_uap_plugins_foryonyou20171117`压缩包。...

    mybatis代码生成插件

    在实际开发中,MyBatis Code Generator插件还可以与其他工具集成,比如IDEA、Eclipse等集成开发环境,通过插件的形式提供图形化的配置界面,使得生成代码更加便捷。此外,你还可以通过调整generatorConfig.xml中的...

    EclipseAutoGenerateCodePlugin:Eclipse自动生成代码插件

    Eclipse作为一个流行的开源集成开发环境,提供了丰富的插件支持,而EclipseAutoGenerateCodePlugin就是这些插件中的一个。它通过自定义模板,可以自动化地创建基于MVC模式的项目结构,包括Model、View、Controller等...

    代码覆盖率eclipse插件

    在软件开发过程中,代码覆盖率是衡量测试质量的一个重要指标。它能够帮助开发者了解测试代码对源代码的覆盖程度,从而确保代码的健壮性和可靠性。Eclipse作为一款广泛使用的Java集成开发环境,提供了一些插件来支持...

Global site tag (gtag.js) - Google Analytics