Grails 0.6 新特性简单一览
首先声明,虽然GraemeRocher已经将Grails0.6的新特性做了简介,可是到目前为止Grails0.6还没有正式发布,不过也指日可待了。
原文请参考Grails0.6ReleaseNotes,以下是就我本人的了解做了一个简单翻译,以先飨部分Grailsfans。
Grails0.6主要新特性如下:
- Groovy和Java联编(联合编译)
- 集成Spring的WebFlow
- 在Grails的services中支持Spring的scopes
- 提高了对REST的支持,可以自动地使用XML/JSON编码,支持RESTfulURL映射
- 新的专门用于配置的DSL取代了原来的convention
- 支持Sitemesh的inlinedecorators
- 启动时间,单元测试和生成工具,在速度上都有大幅度的提高
Groovy和Java联编
Groovy和Java的联编意味着在Java源代码中可以直接调用Groovy的类,而且Java源代码现在也支持运行时动态加载,这样一来大大减少了服务器的启动次数。集成Web Flow
有了Spring Web Flow项目的支持,Grails现在可以构建有状态的flows了,详细的DSL可以参考Web Flow 描述,此处仅给出一个简单示例class BookController { ... def shoppingCartFlow = { showCart { on("checkout").to "enterPersonalDetails" on("continueShopping").to "displayCatalogue" } ... displayCatalogue { redirect(controller:"catalogue", action:"show") } displayInvoice() } }Grails在集成Hibernate 和 Web Flow的基础上,允许将会话的范围绑定在一个单独的session上,因此也支持事务会话的乐观锁。
支持Spring的scopes
Grails的services类现在支持Spring和Web Flow的scopes。比如一个service class可以在指定"flow"范围,而且可以在客户端和服务器端维护其状态。ass BookService implements Serializable { static scope = "flow" }其他支持的scopes还包括"prototype", "singleton", "request", "session", "flash", "flow" 和 "conversation",其中后三个是属于Web Flow的
REST和Web Services
Grails 0.6通过URL Mappings加强了对REST的支持,一个URL映射可以将action和HTTP方法一一对应,比如mappings { "/books/$id?" { controller = "book" action = [GET:"list", DELETE:"delete", POST:"update", PUT:"save"] } }此外,一个新的功能点是现在可以轻松地进行 XML 或者JSON 转化了(以前这个特性仅仅在Converters插件中有效)。看一下以下代码就知道了 :)
ort grails.converters.* ... def list = { render Book.list() as XML // or render Book.list() as JSON }
相关推荐
hooopo 2014-07-12
80447518 2014-06-18
purpen 2014-05-23
jackyzhuyuanlu 2015-02-12
龙浩然 2015-11-06
daociyiyou 2016-11-07
coderbx 2013-03-11
yehell 2012-04-24
yeyedeyatou 2011-08-04
Ben的程序员生涯 2011-04-29
jieren 2010-02-18
carpenterworm 2009-04-03
trapeze 2008-06-06
掘井之路 2019-07-01