GORM
更好的 GORM 事件
GORM 已经支持 beforeInsert, beforeUpdate 和 beforeDelete events, 现在添加了对 afterInsert, afterUpdate 和 afterDelete events的支持
支持基础类型集合的存储
GORM 现在通过一个 join table 来支持像 String, Integer 这样的基础类型的集合的存储:
class Person {
static hasMany = [nicknames:String]
}
增强数据绑定功能
现在更容易对属性的自己和进行数据绑定。在之前的版本中你也许会使用:
person.properties = params
这将会将request中的所有变量绑定到person中。如果你不想绑定所有的数据的话,你可以使用 bindData 方法。现在你可以通过使用subscript operator来绑定部分的变量:
person.properties["firstName","lastName"] = params
要取得domain中的所有属性的一个子集也可以通过这样的方式:
person.properties["firstName","lastName"].each { println it }
以“只读”方式获得对象
现在可以通过read方法来获得“只读”的对象(不能更改、删除):
def book = Book.read(1)
默认排序
现在能够通过在domain中声明sort的方式来指定相关对象的排序方式:
class Book {
String
title
static
mapping = {
sort "title"
}
}
也可以在关联中声明sort:
class Author {
static
hasMany = [books:Book]
static
mapping = {
books sort:"title"
}
}
Batch Fetching
GORM 现在支持通过在domain中使用DSL来配置 batch fetching (an optimization of lazy loading) :
class Book {
String
title
static
mapping = {
batchSize 15
}
}
也可以在关联中使用:
class Author {
static
hasMany = [books:Book]
static
mapping = {
books batchSize:15
}
}
增强的动态查找器
动态查找器新增对InList的支持 :
def groovyBooks = Book.findByAuthorInList(['Dierk Koenig', 'Graeme Rocher'])
动态查找器现在能够使用query cache:
def books = Book.findByTitle("Groovy in Action", [cache:true] )
动态查找器也能使用悲观锁(pessimistic lock):
def books = Book.findByTitle("Groovy in Action", [lock:true] )
处理遗留数据库的单向一对多关系
单向一对多关系可以通过joinTable 属性来改变其在骑在的数据库中的映射方式:
class Book {
String
title
static
belongsTo = Author
static
hasMany = [authors:Author]
static mapping = { authors joinTable:[name:"mm_author_books" , key:'mm_book_id' ] } } class Author { String name
static hasMany = [books:Book] static mapping = { books joinTable:[name:"mm_author_books" , key:'mm_author_id'] } }
插件
全局插件
现在支持安装全局插件来供所有的 grails 程序使用:
grails install-plugin webtest -global
支持多个插件源(Repository)
Grails
现在支持通过一个 USER_HOME/.grails/settings.groovy 文件或者一个
grails-app/conf/BuildSettings.groovy 文件来配置多个插件源,上述的文件应该包含相应的信息:
grails.plugin.repos.discovery.myRepository="http://svn.codehaus.org/grails/trunk/grails-test-plugin-repo"
grails.plugin.repos.distribution.myRepository="https://svn.codehaus.org/grails/trunk/grails-test-plugin-repo"
Automatic Transitive Plugin Resolution
现在插件不再需要被放到SVN中了,当Grails应用程序第一次载入时会通过插件的metadata进行自动安装。另外,插件的依赖问题也得到了解决。
测试
新的测试框架
在1.0.x的版本中以插件形式出现的测试框架(test framework
)现在被集成到了Grails中。
脚手架
模板和动态脚手架
动态脚手架现在能够使用模板,可以通过install-templates命令来进行安装
相关模板
更多相关资源:
Changelog: http://jira.codehaus.org/browse/GRAILS?report=com.atlassian.jira.plugin.system.project:changelog-panel
Download: http://grails.org/Download
Documentation: http://grails.org/doc/1.1
分享到:
相关推荐
2. **增强的插件系统**:1.1版本对插件管理进行了改进,增强了插件之间的依赖管理和版本控制。 3. **更好的IDE支持**:1.1版本提升了与Eclipse、IntelliJ IDEA等开发环境的集成,提供了更好的代码提示和调试体验。 ...
1. **环境配置**:首先,开发者需要了解如何安装和配置Grails环境,包括Groovy SDK、Grails SDK以及相关的IDE支持,如IntelliJ IDEA或Eclipse的Grails插件。 2. **命令行工具**:Grails提供了强大的命令行工具,...
4. **GRAILS 插件系统**:Grails 的强大之处在于其插件系统,允许开发者通过安装和配置插件来扩展框架功能。例如,安全、缓存、邮件服务等常见需求可以通过插件轻松实现。 5. **Grails 控制器(Controllers)**:...
1. **性能优化**:Grails 1.1在性能方面进行了显著优化,提高了应用的加载速度和响应时间。 2. **增强的安全性**:新增了安全特性,如防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等。 3. **GORM改进**:GORM(Grails...
Grails是一个基于Groovy语言的开源框架,它采用了模型-视图-控制器(MVC)架构模式,简化了Java EE应用的开发流程,提供了丰富的插件系统和自动化工具,以提高开发效率。 1. **Groovy语言基础**:Grails是用Groovy...
Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维...
Grails 最新的 v1.1版的中文文档,chm格式,Grails是一套快速开发Web应用的开源框架,基于Groovy编程语言,并构建于Spring、Hibernate和其它标准Java框架之上,能为大家带来超高效率的一站式框架。
本文将深入探讨Grails 1.1版本中的动态编码方案,这是该框架提供的一种强大且灵活的特性,使得开发者能够在运行时动态地创建和修改代码。 动态编码方法在Grails中主要体现在两个方面:GSP(Groovy Server Pages)和...
Grails1.1中文文档-----2009.3.25
2. 插件系统强化:此版本增强了插件的管理和依赖解析,使得插件间的协同工作更加稳定,开发者可以更方便地扩展和定制功能。 3. 改进的命令行工具:Grails 1.2.2的命令行工具更加友好,提供了更多的自动化脚本,如...
grails framework 1.1 中文
3. **插件系统**:Grails 插件是一组可重用的功能模块,可以快速增强应用程序的功能,如Spring Security、Asset Pipeline等。 4. **命令行工具**:Grails 提供强大的命令行工具,支持创建项目、运行应用、生成代码...
Grails的脚手架基于GORM(Grails Object Relational Mapping)和Groovy模板引擎,通过解析Domain Class自动构建出Controller、View以及相应的模板文件。在运行时,这些文件负责处理数据的增删改查操作。了解这一工作...
此外,Grails的插件系统允许扩展功能,比如安全、缓存、报表等。 总的来说,Grails 1.1是一个强大且便捷的开发工具,尤其适合快速原型开发和构建企业级Web应用。它的免安装特性使得部署和维护变得更加简单,而丰富...
Grails的核心特性包括MVC架构、领域驱动设计(GORM)、自动化构建过程以及丰富的插件系统。通过Eclipse的插件,我们可以更好地在Java环境中集成Grails开发,享受无缝切换的便利。 接下来,我们将讨论**Eclipse插件...