文章:Grails + EJB 领域模型教程

  • 霍泰稳

2007 年 8 月 29 日

话题:JavaWeb框架语言 & 开发

Grails 给 Java 平台带来了 Ruby on Rails 风格的生产力,它建构于 Groovy 语言之上,并完全与 Java 集成。该教程展示了围绕一个已有的 EJB 3 实体 Bean 领域模型,如何使用 Grails 来快速地构建一个功能齐全的 Web 站点,而且代码很少。

Ruby on Rails 不断地受到软件工程世界的关注,但企业依旧对其表示怀疑。为什么会这样?我们怀疑:“构建于脚本语言之上的框架,怎能适合我的企业应用?!”针对 Ruby on Rails,典型的论调就是缺少对企业服务(如分布式事务、消息传递等)的支持。对很多企业而言,如果平台没有这些服务,那么它将不可能被考虑。

Grails 旨在解决那些关注点,并证明快速应用开发(RAD)对企业是可行的。Grails 建构于 Groovy 之上,提供了与 Java 的无缝集成。它能直接访问你的业务所依赖的那些企业服务,同时为你的工具集增添强大的动态语言结构。

作为展示它企业集成能力的令人印象深刻的一个例子,Grails 可让你快速而简单的基于已有 EJB3 实体 Bean 构建一个 Web 应用。但是,它的能力并不是仅此而已。Grails 大幅增强了你的实体 Bean 的能力,而且这些完全是动态做到的,没有更改任何你的 EJB 源码。Grails 对象关系映射(GORM)建立在 Hibernate3(最终将提供对 Java 持久化 API 的支持)之上,利用 Groovy 的元对象协议(MOP)为你的不同静态实体 Bean 增加了各种方便的动态方法。这些方法不仅能从 Grails 和 Groovy 访问,而且你的 Java 代码同样能访问它们!

在本文中,作者创建了一个新的 Grails 应用,将实体 Bean 导入到应用,为实体 Bean 产生快速构建缺省 Web 界面的脚手架代码(scaffolding),然后再探索 Grails 为实体 Bean 增加的一些方便的动态方法。通过非常少的代码,获得了一个功能齐全且具弹性的应用。在构建这个应用的同时,没有改变现有实体 Bean 中的任何一行。而且因为开发人员只写了非常少的代码就到达了这一点,所以在只需要维护更少的代码。在以后当需求再次改变的时候,这也意味着将书写更少的代码。当你的应用就是敏捷的时候,只需想想你可以多快的对演变中的业务需要做出反应!

阅读全文:Grails + EJB 领域模型教程

JavaWeb框架语言 & 开发