使用rapid-framework自动生成struct2

时间:2021-07-03 20:46:12

  在JavaWeb的开发中,对数据对象的操作不外乎增删改查,不同的数据对象,其action、service、model、jsp等都比较类似,如果手动去写这些代码,工作量大且非常繁琐。一个心高气傲的程序员如果被安排去做干这种活,无论多么有耐心,也会在无休止的琐碎代码中逐渐晕菜。如果有代码工具帮助我们生成这些代码,让coder真正去关注业务逻辑的开发,那肯定是极好的了。

在网上搜索了一下,这种代码自动生成的脚手架scaffold(不是Scofield,scofield是越狱的小帅)有两种,一种是Rails,可以参考 http://www.ibm.com/developerworks/cn/web/1204_zhanzy_dojograils/ 学习一下;另一种就是本文要介绍的rapid-framework,该项目的网址在http://code.google.com/p/rapid-framework(别点了,咱们这嘎达打不开),下面是该项目的介绍:

  "一个类似ruby on rails的java web快速开发脚手架,本着不重复发明*的原则,框架只是将零散的struts(struts2)+spring+hibernate各个组件组装好在一起,并对struts及struts2进行改造,提供零配置编程,并内置一个强大的代码生成器及模板文件,可以生成java的hibernat model,dao,manager,struts+struts2 action类,可以生成jsp的增删改查及列表页面。项目借鉴了ruby on rails,appfuse,springside."

  目标还是很完美的,但是据我实践,发现使用起来还有点小困难,同志还需努力哦!

(1)首先,不管用什么办法,你得把rapid-framework下载下来。比方说我下载下载下来的压缩包,名字叫做rapid-framework-3.9.3.20100923.zip,从起名看,这个包是2010年9月份开发的,现在是2015年,整整5年过去了,没有一点更新,由此可以推测这个项目进展的并不顺利。

(2)rapid-framework-3.9.3.20100923.zip解压缩,解压出来两个文件夹,rapid-framework-3.9.3.20100923就是我们待会要使用的工程,reference_doc目录为说明文档,我们只要按照说明文档的quick_start_guild.html,一步一步操作即可,该知道说明是中文的,e文不好的同学不要担心。

(3)我这里把该指导文档的标题拷贝在这里(详细信息你下载quick_start_guild.html文件自己瞅瞅):

1.创建一个 struts2_demo的 web project

2.拷贝rapid-framework至项目根目录

3.设置项目的编码为utf-8

4.设置源码路径

5.将generator/lib的jars加入classpath

6.安装插件 hibernate及struts2

使用rapid-framework自动生成struct2

7.在mysql数据库中创建表user_info

8.修改生成器配置文件generator.xml的jdbc数据库连接信息

9.运行代码生成器 GeneratorMain.java

10.拷贝生成的代码至项目根目录,并刷新项目(现在就可以使用新生成的代码了)

  这是一张成果图:

  使用rapid-framework自动生成struct2

  

另外,如果你是maven用户,现在可以直接在maven官方仓库中引用到rapid的类库,我还不知道引入这些类有什么用,总之先记在这里吧。

<!-- rapid核心框架 -->
<dependency>
  <groupId>com.googlecode.rapid-framework</groupId>
  <artifactId>rapid-core</artifactId>
  <version>4.0</version>        
</dependency>

rapid-generator

<!-- 代码生成器核心引擎 -->
<dependency>
  <groupId>com.googlecode.rapid-framework</groupId>
  <artifactId>rapid-generator</artifactId>
  <version>4.0</version>        
</dependency> <!-- 代码生成器扩展包 -->
<dependency>
  <groupId>com.googlecode.rapid-framework</groupId>
  <artifactId>rapid-generator-ext</artifactId>
  <version>4.0</version>        
</dependency> <!-- 代码生成器模板,模板根目录通过 classpath:generator/template/rapid 可以引用 -->
<dependency>
  <groupId>com.googlecode.rapid-framework</groupId>
  <artifactId>rapid-generator-template</artifactId>
  <version>4.0</version>        
</dependency>