`
snoopy7713
  • 浏览: 1152038 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

使用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已经建立了就不用建立啦)。

New roo project

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里,你就可以测试啦!下图是一个官方的例子的运行结果:

Run vaadin

修改优化

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

 

参考资料

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

分享到:
评论
1 楼 黑暗浪子 2012-06-19  
蛮好的资料,收藏~

相关推荐

    vaadin-springRoo可运行的例子

    它支持多种技术栈,包括Spring MVC、JPA等,与Vaadin结合使用,可以为Web应用提供强大的后端服务。 在这个例子中,`pom.xml`是项目的Maven配置文件,它定义了项目依赖、构建设置和插件。Maven是一个项目管理和综合...

    Spring Roo 简介,第 4 部分: 用 Spring Roo 和 Cloud Foundry 在云中快速开发应用程序

    在本篇文章中,我们将深入探讨 Spring Roo 的使用,以及如何结合 Cloud Foundry 进行云端应用开发。Spring Roo 是一个基于 Java 的开源工具,它简化了 Spring 应用程序的构建过程,通过自动化任务和代码生成,让...

    spring roo使用文档

    - **IDE 集成**:将 Spring Roo 与 IDE 结合使用以提升开发体验。 - **创建 Web 层**:为应用添加前端交互能力。 - **部署与安全**:介绍如何部署应用并实现基本的安全措施。 #### 六、应用架构概述 - **整体...

    spring roo in action

    书中还涉及了Web开发部分,探讨了如何使用Spring Roo快速搭建Web应用程序,包括使用Spring MVC进行控制器和视图层的快速开发。Spring Roo的Web开发支持包括了多种Web层技术,方便开发者根据项目需求选择合适的技术...

    Spring Roo In Action

    Spring Roo还提供了与Spring集成的技术,例如Spring MVC、Spring Security、Spring Batch等,这有助于开发者实现快速开发和部署应用的目的。 标题《Spring Roo In Action》意味着这本书是一本实用指南,旨在向读者...

    springroo快速学习

    4. 测试支持:SpringRoo提供测试驱动开发的支持,可以生成JUnit测试用例,并且能方便地进行数据准备和清理。 5. 配置管理:通过`roo configure`命令,可以修改项目的配置,如调整日志级别、添加新的Servlet等。 四...

    Spring ROO

    Spring ROO是Spring框架下的一个快速开发工具,旨在简化Java应用程序的构建过程,尤其针对企业级应用。它通过自动化任务、代码生成以及最佳实践的应用,极大地提高了开发效率。Spring ROO的核心理念是“生产力优先”...

    Spring Roo命令文档

    Spring Roo是Spring框架的一部分,它提供了一种快速开发工具,帮助开发者在Java应用中创建和管理代码。Roo通过自动化过程,简化了常见的开发任务,如设置项目结构、创建实体类、生成数据库表映射以及创建CRUD操作。...

    spring roo 1.1.3 学习资料

    它基于Spring的模块化架构,提供了一种快速开发、自动化代码生成和最佳实践集成的解决方案。Spring Roo 1.1.3是该工具的一个稳定版本,包含了多项改进和优化,使得开发者可以更高效地构建基于Spring的应用。 Spring...

    spring-roo-1.1.5.RELEAS

    4. `samples/` 或 `examples/` 目录:可能包含示例项目,用于展示如何使用Spring Roo进行开发。 5. `LICENSE` 和 `NOTICE` 文件:分别提供了软件的许可协议和版权信息。 通过这个压缩包,开发者可以获得一个完整且...

    spring-roo-1.3.2.zip

    3. **快速应用开发(RAD)**:Spring Roo的目的是提高开发效率,通过命令行界面或集成开发环境(IDE)插件,开发者可以快速创建项目结构,添加所需的库和技术,然后自动生成相应的代码。 4. **技术栈支持**:Spring Roo...

    spring roo 生成数据库表

    在这个场景中,"spring roo 生成数据库表"指的是使用Spring Roo工具来自动化创建与数据库表对应的Java实体类和数据访问层。 首先,Spring Roo支持多种数据库,包括MySQL、Oracle、PostgreSQL等。在开始之前,你需要...

    SpringRoo 官方文档-版本 2.0.0.RC1

    SpringRoo 是一款由 Pivotal Software(现为 VMware 的一部分)开发的快速应用开发工具。它旨在帮助开发者简化基于Spring框架的应用程序构建过程。SpringRoo 通过提供一系列自动化代码生成功能,允许开发者在几分钟...

    spring Roo安装使用简介

    本文主要介绍了Spring Roo的安装和使用简介,旨在帮助读者快速生成项目原型和骨架。本文首先介绍了Spring Roo的安装步骤,包括下载和解压命令行工具、添加环境变量、安装Eclipse插件等。然后,详细讲解了如何使用...

    spring-roo-2.0.0.RC1.zip

    Spring Roo是Spring框架家族中的一个开源工具,旨在简化Java应用程序的开发过程,特别是Spring MVC和Spring Data应用。这个"spring-roo-2.0.0.RC1.zip"压缩包包含的是Spring Roo的2.0.0 Release Candidate 1版本,这...

    spring-roo-1.1.0.M1.zip_54587.m1_M1 ssh_Spring Roo download_spri

    描述中提到"ssh框架快速开发辅助工具,有利于加快开发速度",这表明Spring Roo与SSH的结合,使得开发者能够更便捷地创建安全的、基于Spring的应用程序,而无需从头开始编写大量的安全配置代码。 标签"54587.m1 m1_...

    spring-roo-docs

    SpringRoo是一款旨在提高开发效率的工具,它能够帮助开发者快速搭建基于Spring框架的应用程序。通过一系列命令行操作,开发者可以快速创建出包含基本业务逻辑的应用程序骨架。 **1.2 为什么使用SpringRoo?** - **...

    os-springroo2-sample_code

    【os-springroo2-sample_code】项目是一个关于Spring Roo的示例代码库,它展示了如何使用Spring Roo框架来快速开发应用程序。Spring Roo是Spring框架的一部分,它提供了一种简化和加速Java应用开发的方式,通过自动...

    Spring Roo - Reference Documentation

    本文将深入剖析Spring Roo的关键特性和使用流程,帮助读者理解如何利用这一工具提高开发速度,同时确保代码质量和可维护性。 #### 1.1 Spring Roo的核心价值:更高生产力 Spring Roo通过其独特的命令行接口(CLI)...

Global site tag (gtag.js) - Google Analytics