写点什么

Spring 希望通过 Roo 将 Grails 式的生产率带到 GWT 应用开发中

  • 2010-08-02
  • 本文字数:1645 字

    阅读完需:约 5 分钟

今年 5 月,VMware 与 Google 宣布合作,方式是将VMware 的Spring Roo 框架与Google 的GWT Java-to-JavaScript 编译器的工程师联合起来。此次合作旨在将Spring Roo 的生产率引入到基于Java 的GWT RIA 框架中。

由SpringSource 的 Ben Alex 所领导的 Spring Roo 是个轻量级、快速的应用开发栈,旨在将使用其他解决方案(如 Ruby on Rails 和 Groovy on Grails)的开发者们所钟爱的快速反馈与生产率特性带到 Java 开发者社区中。它提供了一个 shell,可以生成并管理类的生命周期,使用一种简单的命令语言描述项目搭建、实体、控制器等内容。它提供了一套源码级别的注解,开发者可以对注解的类使用各种 Spring Roo 服务。

凭借 Spring Roo,开发者还可以通过 shell 生成领域层,但要知道,这种方式与传统的 Java 企业级 DAO 方式是截然不同的,这么做通常要优于 Entity Manager 模式。以下内容来自于 Spring Roo 的参考文档

大多数传统的 Java 企业级应用都会有 DAO 层、服务层、领域层以及控制器层。典型的 Roo 应用中只有实体层(类似于领域层)和 Web 层,如果需要的话还可以增加服务层,但几乎不会使用 DAO 层。

我们依然可以通过创建基于 Spring MVC 或是 GWT-MVP 的 CRUD 脚手架应用进行应用开发。

Google Web Toolkit (GWT)是个 Java-to-JavaScript 编译器,开发者可以使用 Java IDE 及 Java 习惯编写代码。最终”编译好“的应用实际上是 JavaScript,可用于构建跨浏览器、交互式的 Web 应用。GWT 包含了 Chrome 扩展:Speed Tracer,这是一款可以分析、调试客户端应用的工具。Speed Tracer 也包含了服务端分析功能,但这种支持只限于 Google App Engine (GAE)和 SpringSource tc Server Developer Edition。GWT项目站点这样写到:

通过集成,你可以查看到关于数据库调用、memcache 命中率、资源获取以及其他服务器端服务调用的度量信息。

借助于与 Google 的合作,开发者可以使用 GWT 扩展应用,可以通过 DataNucleus 持久化支持将应用部署到 GAE 上。背后的 Spring Roo 则自动化了项目生命周期,从包装 GWT MVP 视图到建立 GWT 编译器、配置领域持久化、Maven 的依赖信息等。

Spring Roo 提供了一个命令行工具来生成领域层的 JUnit 集成测试用例,可以生成构建于 Spring 集成测试基础设施之上的一整套测试用例来验证常见的 JPA 操作(如 CRUD)是没问题的。此外,Spring Roo 借助于 Selenium 工具为每个项目的 Web 控制器创建了自动化测试。为了启用 Web 端测试,Maven 需要开启一个 Tomcat 服务器实例。接下来,Spring Roo 就会部署最终的测试 Web 应用供开发者进行验证。

为了在后台支持双向的代码生成,Spring Roo 使用了 AspectJ Inter-type declarations(ITDs)。ITD 是一个方面,使用类似于 Java 的语法进行描述,它会在编译期被编织到 Java 类中。Spring Roo 管理着 ITDs,一旦包含他们的 Java 类发生了变化,Spring Roo 也会对其作出响应。比如说,给定一个带有注解 @RooToString 的类,Spring Roo 可以在方面中生成或是更新 toString() 方法来枚举类中的所有变量。该方法会被编译到最终的.class 文件中,这样开发者就无需手工编写这些代码了。

请安装 IDE(如 Eclipse 或 IntelliJ)来感受 Roo 的代码生成功能吧,但首先需要安装一个插件,它提供了 AspectJ Development Toolkit(ADJT)。这样就会在开发环境中开启 AspectJ 方面的代码完成支持了。SpringSource 提供了一个免费的基于 Eclipse 的套件: SpringSource Tool Suite (STS),它包含了 Spring Roo 开发所需的所有插件(比如 m2eclipse 插件等)。IDE 很有用,但并非必须,Roo shell 中可以执行所有的命令行。

Christian Dupuis 在位于 SpringSource 的博客上发布了一个示例应用和相关的说明信息。他的博文谈到了STS 配置、使用Roo 生成项目、部署基本的GWT 应用到GAE 上的所有步骤。虽然还处于开发的早期阶段,但STS 与GWT 的集成正不断实现着承诺的特性。

查看英文原文: Spring Aiming to Bring Grails-like Productivity to GWT Application Development With Roo

2010-08-02 11:483079
用户头像

发布了 88 篇内容, 共 266.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

IT外包服务内容有哪些?

Ogcloud

外包 IT 外包公司 项目外包 IT 运维

浅析企业特权账号管理

尚思卓越

数据安全 企业安全

人工智能 | 精准数据划分:提升模型性能的关键一步

测吧(北京)科技有限公司

测试

人工智能 | 优化模型性能的关键一步——深入理解训练集、验证集和测试集

测吧(北京)科技有限公司

测试

解读JetBrains 2023年开发者生态报告,MySQL仍是全球数据库顶流 | StoneDB数据库观察 #11

StoneDB

MySQL 数据库 HTAP StoneDB

Footprint Analytics x Future3 万字研报:AI 与 Web3 数据行业融合的现状、竞争格局与未来机遇探析(上)

Footprint Analytics

区块链 AI web3

Wireshark中的TCP协议包分析

小魏写代码

人工智能 | 深入理解评估指标——优化模型性能的关键

测吧(北京)科技有限公司

测试

人工智能 | 数据闭环构建技巧:确保模型稳定性和数据质量

测吧(北京)科技有限公司

测试

人工智能产品测试的挑战与应对策略

测吧(北京)科技有限公司

测试

人工智能 | 数据与特征:解析模型如何依赖信息解决实际问题

测吧(北京)科技有限公司

测试

构建卓越的人工智能产品:全方位的质量保障与测试

测吧(北京)科技有限公司

测试

从 Elasticsearch 到 SelectDB,观测云实现日志存储与分析的 10 倍性价比提升

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

【实用+干货】如何使用Clickhouse搭建百亿级用户画像平台看这一篇就够了

不在线第一只蜗牛

Clickhouse 用户画像

腾讯云大数据ClickHouse遇见Schema-less: 半结构化数据分析性能提升20倍!

腾讯云大数据

Clickhouse

独立开发者都使用了哪些技术栈?

互联网工科生

独立开发者 软件开发 技术栈

人工智能 | Spark在分布式造数工具中的应用:构建大规模测试数据的新境界

测吧(北京)科技有限公司

测试

一起来看看,Abaqus2024版本会有哪些“惊喜”?

思茂信息

abaqus abaqus软件 abaqus有限元仿真 有限元分析 有限元仿真

盘后股价狂飙16% — GitLab的DevOps产品在AI时代展现强劲财务业绩

极狐GitLab

人工智能 AI DevOps gitlab AIGC

石原子科技荣登「2024 中国企业服务云图」,引领数据价值在线化革命,助力企业省心省钱更安全

StoneDB

MySQL 数据库 HTAP StoneDB

工程师都喜欢的一款自动生成网格的仿真软件——Hyperworks到底好不好用?

智造软件

CAE CAE软件 hyperworks

直播预约丨《实时湖仓实践五讲》第四讲:实时湖仓架构与技术选型

袋鼠云数栈

大数据 数据仓库 数据湖 湖仓一体 实时湖仓

StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!

StoneDB

MySQL 数据库 HTAP StoneDB

在京东平台上,如何查找特定类别的SKU信息?

技术冰糖葫芦

API 开发

人工智能 | 自学习:数据科学的新潮流

测吧(北京)科技有限公司

测试

在使用API获取JD商品的SKU信息时,需要注意哪些数据隐私和安全问题?

技术冰糖葫芦

API 开发

人工智能 | 精细解读人工智能评估指标——深入了解模型的强项与弱项

测吧(北京)科技有限公司

测试

人工智能 | 优化模型训练的利器——训练集、验证集和测试集

测吧(北京)科技有限公司

测试

人工智能 | 分布式造数工具中的Spark应用实践:快速生成大规模测试数据

测吧(北京)科技有限公司

测试

想要精确搜索商品详情?闲鱼电商API接口帮你实现!

联讯数据

Spring希望通过Roo将Grails式的生产率带到GWT应用开发中_Java_Mario Gray_InfoQ精选文章