偶之前参与做的一个自动化代码生成工具,是基于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%以上的代码都可以自动生成。

下面是贴图

 

新建自定义的工程

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

 

选择数据来源

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

 

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

 

测试数据连接

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

 

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

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

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

 

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

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

 

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

数据字典选择

 

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

 

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

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

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

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

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

 

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

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

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

 

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

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

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

 

 

 

 

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

相关文章:

  • 2021-06-16
  • 2021-11-16
  • 2021-12-15
  • 2022-12-23
  • 2021-06-23
  • 2021-07-15
  • 2021-07-07
猜你喜欢
  • 2021-05-18
  • 2021-11-09
  • 2021-05-11
  • 2021-08-06
  • 2022-01-03
相关资源
相似解决方案