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

本文介绍如何使用SpringRoo与Vaadin进行快速原型开发。通过这两个工具,开发者可以高效地创建基于Spring的应用程序,并自动生成用户界面。

很多时候,我们需要进行快速的原型开发来验证我们的想法,而对我这种懒人而言,又不想去写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

内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池全局池)、NAT转换(静态动态)、静态路由、RIPOSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值