很多时候,我们需要进行快速的原型开发来验证我们的想法,而对我这种懒人而言,又不想去写HTML,CSS,Javascript,这次开发的一个简单的记账网站,采用了Spring Roo + Vaadin 的快速开发模式,效率还是比较高,现在先介绍两个主角:
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 是一款使用 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中执行:
3、安装Vaadin Plugin for Eclipse:
update site地址为:http://vaadin.com/eclipse
OK,装完我们吃饭的家伙后,可以正式开始开工了。
(如果在安装Vaadin Plugin for Roo已经建立了就不用建立啦)。
根据你的数据库设计建立你的数据模型,注意,此处不需要你先在数据库中把表建立,建立模型后,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] ------------------------------------------------------------------------
现在你的数据模型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-