Grails是一个构建于Java和Groovy上的动态Web应用框架。她以包括Spring、Hibernate和SiteMesh等成熟领先的J2EE框架为基础,将基于规约的开发乐趣带给Java和Groovy开发者的同时,也保护他们已使用数年之久的Java开发资源。
新功能&改进
新特性:基于Groovy 1.7.5
新功能:基于命名的查询现在支持排序
基于命名查询的列表方法目前支持静态列表方法一样的参数,如:排序字段、排序方式、是否大小写敏感等:
Person.recentPublications.list(sort: 'title', order: 'desc', ignoreCase: true)
新功能:用于渲染单一URL的模板视图信息
GSP模板在WEB应用中被通过“g:render标签库”大量复用。很多小的模板聚集起来满足单一页面的展现要求。但也由此带来了难以确认哪个GSP模板是事实上渲染最终呈现HTML页面的,为解决此问题,调试模板,将HTML注释添加至输出中的特性应运而生。注释中包括:用于页面显示的GSP模板。
使用方法也很简单,将“?debugTemplates”或者"&debugTemplates"添加到URL之后即可。当然,该模式仅限于开发模式下。
这里是一个添加“debugTemplates”后的实例:
<!-- GSP #2 START template: /home/user/sampleapp/grails-app/views/_carousel.gsp precompiled: false lastmodified: 22.6.2010 10:45 -->
.
<!-- GSP #2 END template: /home/user/sampleapp/grails-app/views/_carousel.gsp rendering time: 115 ms -->
Each comment block has a unique id so that you can find the start & end of each template call.
改进点:GSP页面自动刷新支持预编译的GSP了
详情参阅Grails参考文档。
但GSP自动刷新允许后,i18n也可进行自动刷新。新的“message_*.properties”文件将不会被检测,只有对现有“.properties”文件的改动会在5秒的间隔内自动刷新。
在Config.groovy文件中的配置范例如下:
grails.gsp.reload.enable = true
该配置在Tomcat下被测试可行,你可以直接编辑"war目录" ("exploded war directory")下的GSP文件,如:$TOMCAT_HOME/webapps/myapp-0.1/WEB-INF/grails-app/views
和$TOMCAT_HOME/webapps/myapp-0.1/WEB-INF/grails-app/i18n目录下的文件。如果您使用WAR文件部署,请确定你已经备份您的修改,否则你的改动将在下一版本发布时丢失。您也可能由于应用服务器的重启丢失您的改变。如果您希望使用该特性,建议使用“暴露模式”部署WAR文件。
改进点:创建的URL链接默认将被缓存
Grails将用带权重的最近最少使用(Weighted LRU)算法缓存由"g:createLink"标签创建的链接(和其他由Grails UrlMappingHolder/UrlCreater接口创建的链接)。缓存的模板大小是160000个字节。用户可以通过"grails.urlcreator.cache.maxsize"对缓存容量加以配置:
// 设定UrlCreatorCache大小为 200000字
grails.urlcreator.cache.maxsize = 200000
// 禁止 UrlCreatorCache
grails.urlcreator.cache.maxsize = 0
LRU缓存由"concurrentlinkedhashmap 1.0_jdk5"实现。这是Grails 1.3.5的一个新增依赖。同样的实现被应用于URL的匹配(修复了URL匹配中的内存泄露)。
改进点:应用实例可以在resources.groovy中方便获取。
之前你必须通过ApplicationHolder(或者ConfigurationHolder)来取得应用实例,现在你只要简单应用"application"即可。
import grails.util.*
beans = {
if (application.config.my.company.mockService) {
myBean(my.company.mock.MockImpl) {
bookService = ref("bookService")
}
} else {
myBean(my.company.MyBeanImpl) {
bookService = ref("bookService")
}
}
}
改进点:功能测试支持增强
提供给插件的功能测试支持已经包含远程实例或在WAR部署应用版本中测试的能力,当然,目前并非所有的插件都立即兼容,但相应支持将会在很短的时间内完成。
改进点:使用"run war"的时候可以很方便的配置Tomcat JVM
Tomcat插件模板设定JVM的最大堆空间为512MB,这对你的应用可能不够。你可以通过BuildConfig.groovy中的相应参数来配置:
grails.tomcat.jvmArgs = ["-Xmx1024m", "-XX:MaxPermSize=256m"]
注意:“grails.logging.jul.usebridge”配置打开时的性能
默认新Grails应用将Config.groovy中的“grails.logging.jul.usebridge”配置项打开。SLF4J文档提到JUL到SLF4J桥接对性能的负面影响,推荐在生产环境中将“grails.logging.jul.usebridge”配置项关闭。
参考链接:
http://grails.org/1.3.5+Release+Notes
分享到:
相关推荐
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...
【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
《Grails用户手册》 Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你...
对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...
Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...
《Grails 2 的终极指南》是一本深入探讨Grails框架精髓的专业书籍,该书以英文撰写,旨在为读者提供全面、深入的Grails框架学习资料。Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了...
### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...
**Grails 概述** Grails 是一个基于 Groovy 语言的开源 web 应用程序框架,它构建在 Java 平台上,旨在提高开发效率,简化常见 Web 开发任务。Grails 遵循 Model-View-Controller (MVC) 架构模式,允许开发者快速...
**Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...
11. **持续集成与部署**:设置Jenkins或其他CI工具,进行自动化构建和部署,以及Grails应用的发布流程。 书中附带的`gswg_source_v1_4.zip`源码文件包含了各个阶段的学习示例,这将让你有机会实践所学,通过动手...
### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...
《Grails 2.4.4 框架深度解析》 Grails 2.4.4 是一个基于Java的开源Web应用框架,它利用Groovy语言的强大特性,为开发者提供了一种高效、灵活的开发环境。这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4...
### Grails入门指南知识点 #### 一、Grails框架简介 - **背景**: Grails是一个基于Groovy语言的开源Web应用框架,适用于Java平台。它旨在简化开发过程,提高开发效率,尤其受到那些希望保留Java环境同时寻求更高效...
《Grails技术详解:中文文档与Fckeditor-0.9.5插件解析》 Grails,作为一款基于Groovy语言的开源Web应用框架,以其高效、简洁的特性深受开发者喜爱。它集成了许多Java EE的功能,同时简化了开发流程,使得开发人员...
《Grails中文参考手册》是针对Groovy编程语言构建的Web应用框架——Grails的一份详尽学习资料。Grails以其高效、灵活和强大的特性,成为开发人员在Java平台上构建Web应用的热门选择。这份手册旨在帮助初学者快速上手...
自2007年发布以来,Grails以其快速开发能力,降低了Web应用的复杂性,吸引了众多开发者。本文将引导读者深入理解Grails的基本概念、工作原理及如何快速上手。 Grails的核心优势在于其“快”。借助Groovy的动态特性...