使用Spring Roo 与Vaadin进行快速原型开发

很多时候,我们需要进行快速的原型开发来验证我们的想法,而对我这种懒人而言,又不想去写HTML,CSS,Javascript,这次开发的一个简单的记账网站,采用了Spring Roo + Vaadin 的快速开发模式,效率还是比较高,现在先介绍两个主角:

Spring Roo:

Spring 相信做Java的都很熟悉了,SSH框架的标配啊。Spring Roo是针对Java技术的一个可扩展、基于文本的开源RAD工具。它是用于创建和管理基于 Spring 的应用程序的一个强大资源。这里是任务说明:

Roo 的任务是从根本上可持续地改善 Java 开发人员的生产效率,而无损工程完整性和灵活性。

使用 Spring Roo,您可以添加和配置 JPA、Spring MVC、Spring Security 等功能,使用 Log4j 进行日志记录,测试 JUnit 和 Selenium、Solr、JMS、电子邮件等框架,仅需在 Roo shell 上输入命令即可。使用 Roo 添加这些功能节省的时间提高了开发人员的生产效率。Roo 不能编写业务逻辑,但可以管理应用程序的基础结构或配置。

 

Vaadin:

Vaadin 是一款使用 Apache V2 许可协议的开源产品,它由位于芬兰的 IT Mill 公司开发。 其前身是 IT Mill 公司由 2000 年起开始研发的 Millstone 用户界面类库。2006 年,IT Mill 公司以 IT Mill Toolkit 作为正式名称发布了它的 Release 4 版本,这个版本中包含了全新的基于 Ajax 的表现层引擎,使开发人员在开发 Ajax 应用程序时无需关注客户端与服务器端的通讯。2007 年末,IT Mill 使用 GWT 技术完全重写了 IT Mill Toolkit 的客户端界面渲染引擎并使用 Apache V2 协议将其开源,版本号为 IT Mill Toolkit Release 5。2009 年春季,为了消除命名的混淆 (IT Mill 是开发企业名称而不应是产品名称 ),IT Mill 以 Vaadin( 芬兰民间传说中的一种神话生物,是女神也是一种山岭驯鹿的神话祖先 ) 作为全新的名称发布了第六个版本,这个版本还提供了 Eclipse 和 Netbeans 插件的辅助开发工具,极大的提高了开发效率。目前最新的版本为 6.4 版。

好了,介绍了上面的两个主角,我们开始今天的开发之旅:

开发工具

1、工欲善其事,必先利其器。要想高效率的快速开发,光靠vim或者notepad那肯定是不行的了,建议使用STS(SpringSource Tool Suite):

下载地址 http://www.springsource.com/developer/sts

2、安装Vaadin Plugin for Roo。按如下方式安装:

安装完成STS后,新建Spring Roo项目,打开Roo Shell,在Roo Shell中执行:

  • pgp trust –keyId 0xBF0451C0
  • download accept terms of use
  • addon install bundle –bundleSymbolicName com.vaadin.spring.roo.addon

3、安装Vaadin Plugin for Eclipse:

update site地址为:http://vaadin.com/eclipse

开始开发

OK,装完我们吃饭的家伙后,可以正式开始开工了。

1、建立Spring Roo项目:

(如果在安装Vaadin Plugin for Roo已经建立了就不用建立啦)。

2、建立你的数据模型

根据你的数据库设计建立你的数据模型,注意,此处不需要你先在数据库中把表建立,建立模型后,ORM框架会自动给你建立表。

打开Roo Shell,执行如下语句设置你的ORM框架、数据库类型:

persistence setup --provider ECLIPSELINK --database HYPERSONIC_IN_MEMORY

你也可以将ECLIPSELINK修改为HIBERNATE,将HYPERSONIC_IN_MEMORY修改为MYSQL或POSTGRES,HYPERSONIC_IN_MEMORY是一个内存数据库,可方便的进行测试。

执行如下语句进行数据模型的建立:

entity --class ~.domain.Account --testAutomatically

OK,现在可以加入你的字段了:

field string --fieldName name
field double --fieldName balance
field date --fieldName accountDate --type java.util.Date
⋯⋯ ⋯⋯

可通过运行如下语句进行编译和测试:

perform tests

测试成功后将得到如下信息:

 Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 minutes 53 seconds
[INFO] Finished at: Tue Jan 11 22:56:11 EET 2011
[INFO] Final Memory: 38M/82M
[INFO] ------------------------------------------------------------------------

 

3、生成界面

现在你的数据模型OK啦,那么就可以用Vaadin自动生成界面了,当然要先设置这个项目用vaadin:

 vaadin setup --applicationPackage ~.web --baseName Account --themeName pizza --useJpaContainer false

再执行下面的命令就可以生成界面了:

vaadin generate all --package ~.web.ui --visuallyComposable true

 

运行测试

将项目放到Server里,你就可以测试啦!下图是一个官方的例子的运行结果:

修改优化

当然,使用框架生成的就是一个骨架,要完成一项工作,你还需要增加业务逻辑代码,优化界面。但不管怎么说,你现有已经有了一个能运行的、看得见摸得着的东西了,还犹豫什么,再这个基础上去修改、探索吧!

 

参考资料

http://www.ibm.com/developerworks/cn/opensource/os-springroo1/

http://www.ibm.com/developerworks/cn/web/1101_wangyc_vaadin1/index.html?ca=drs-

http://vaadin.com/home

http://www.springsource.org/roo

你可能感兴趣的:(spring,roo,vaadin)