Grails框架详解:新特性与提升

需积分: 5 0 下载量 199 浏览量 更新于2024-07-22 收藏 4.92MB DOC 举报
"这篇文档是关于Grails开发的指南,主要涵盖了从Grails 2.0到2.3版本的新特性和改进。Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程并提供了许多自动化工具。在Grails 2.3中,默认的依赖解析引擎从Maven转变为Aether,用户可以在BuildConfig中配置选择使用的引擎。此外,文档还详细列出了各个版本引入的新功能,包括依赖管理、数据绑定、命令对象、异步编程、REST改进等多个方面。" 在Grails 2.3中,最显著的变化是依赖管理的升级,从Maven转向了Aether,这提供了更高效的依赖解析和管理能力。同时,Grails增强了数据绑定功能,允许将请求正文直接绑定到命令对象,进一步简化了处理HTTP请求的工作。此外,Grails 2.3还支持使用域类作为命令对象,使得业务逻辑与表示层的结合更加紧密。 在这一版本中,Grails引入了分叉执行功能,允许并发地执行任务,提升了应用的性能。测试运行值守进程的改进使得开发者可以持续监控和运行测试,便于快速迭代和调试。服务器端的REST接口得到了优化,提供更好的API支持。全新的脚手架插件2.0简化了常见任务的生成。URL映射现在可以指定重定向,增强了路由控制。异步编程的支持则让Grails能够处理更多高并发场景。编码和转义的改进确保了应用的安全性,而对Hibernate3和Hibernate4的支持则为数据库操作提供了更多选择。此外,还能捕获并处理控制器中的异常,增加了命名空间功能,以及对命令行工具的改进。 Grails 2.2引入了命名空间的支持,使得代码组织更加清晰。Tomcat分支执行增强了部署灵活性,Criteria查询支持了投影查询,Groovy也升级到了新版本。Grails 2.1带来了Maven的增强,支持多模块构建,封装功能的改进,调试选项的增加,命令别名,缓存插件,以及部分GORM方法的更新。 Grails 2.0版本的亮点包括面向开发者的特性,如交互模式和命令行增强,新的类加载代理,改进的测试报告和文档模板,H2数据库的集成,插件使用跟踪,依赖解决方案的提升。核心特性包括二进制插件,Groovy 1.8,以及对Spring 3.1个性配置的支持。在Web层,Grails 2.0改进了控制器,添加了静态资源抽象,Servlet 3.0的异步特性,生成超链接和页面渲染的API,过滤器拦截,性能优化,HTML5脚手架,jQuery作为默认JavaScript库,日期解析的便利性,自定义URL格式,以及WebFlow输入和输出的改进。 Grails通过不断迭代,提升了开发效率,增强了框架的稳定性和灵活性,同时也适应了Web开发的最新趋势,如异步处理、RESTful API和HTML5等。对于开发者来说,了解这些新特性有助于更好地利用Grails框架进行高效的应用开发。
2010-05-14 上传
1. 简介 2. 起步 2.1 下载并安装Grails 2.2 创建一个Grails应用 2.3 Hello World示例 2.4 使用IDE 2.5 规约配置 2.6 运行Grails应用 2.7 测试Grails应用 2.8 部署Grails应用 2.9 所支持的Java EE容器 2.10 创建工件 2.11 生成Grails应用 3. 配置 3.1 基本配置 3.1.1 内置选项 3.1.2 日志 3.2 环境 3.3 数据源 3.3.1 数据源和环境 3.3.2 JNDI数据源 3.3.3 自动数据库移植 3.4 外部配置 3.5 定义版本 4. 命令行 4.1 创建Gant脚本 4.2 可复用的Grails脚本 4.3 脚本中的事件 4.4 Ant和Maven 5. 对象关系映射(GORM) 5.1 快速指南 5.1.1 基本的CRUD 5.2 在GORM中进行领域建模 5.2.1 GORM中的关联 5.2.1.1 一对一 5.2.1.2 一对多 5.2.1.3 多对多 5.2.2 GORM的组合 5.2.3 GORM的继承 5.2.4 集合、列表和映射 5.3 持久化基础 5.3.1 保存和更新 5.3.2 删除对象 5.3.3 级联更新和删除 5.3.4 立即加载和延迟加载 5.3.4 悲观锁和乐观锁 5.4 GORM查询 5.4.1 动态查找器 5.4.2 条件查询 5.4.3 Hibernate查询语言 5.5 高级GORM特性 5.5.1 事件和自动实现时间戳 5.5.2 自定义ORM映射 5.5.2.1 表名和列名 5.5.2.2 缓存策略 5.5.2.3 继承策略 5.5.2.4 自定义数据库标识符 5.5.2.5 复合主键 5.5.2.6 数据库索引 5.5.2.7 乐观锁和版本定义 5.5.2.8 立即加载和延迟加载 5.6 事务编程 5.7 GORM和约束 6. Web层 6.1 控制器 6.1.1 理解控制器和操作 6.1.2 控制器和作用域 6.1.3 模型和视图 6.1.4 重定向和链 6.1.5 控制器拦截器 6.1.6 数据绑定 6.1.7 XML和JSON响应 6.1.8 上传文件 6.1.9 命令对象 6.2 Groovy Server Pages 6.2.1 GSP基础 6.2.1.1 变量和作用域 6.2.1.2 逻辑和迭代 6.2.1.3 页面指令 6.2.1.4 表达式 6.2.2 GSP标签 6.2.2.1 变量和作用域 6.2.2.2 逻辑和迭代 6.2.2.3 搜索和过滤 6.2.2.4 链接和资源 6.2.2.5 表单和字段 6.2.2.6 标签作为方法调用 6.2.3 视图和模板 6.2.4 使用Sitemesh布局 6.3 标签库 6.3.1 简单标签 6.3.2 逻辑标签 6.3.3 迭代标签 6.3.4 标签命名空间 6.4 URL映射 6.4.1 映射到控制器和操作 6.4.2 嵌入式变量 6.4.3 映射到视图 6.4.4 映射到响应代码 6.4.5 映射到HTTP方法 6.4.6 映射通配符 6.4.7 自动重写链接 6.4.8 应用约束 6.5 Web Flow 6.5.1 开始和结束状态 6.5.2 操作状态和视图状态 6.5.3 流执行事件 6.5.4 流的作用域 6.5.5 数据绑定和验证 6.5.6 子流程和会话 6.6 过滤器 6.6.1 应用过滤器 6.6.2 过滤器的类型 6.6.3 过滤器的功能 6.7 Ajax 6.7.1 用Prototype实现Ajax 6.7.1.1 异步链接 6.7.1.2 更新内容 6.7.1.3 异步表单提交 6.7.1.4 Ajax事件 6.7.2 用Dojo实现Ajax 6.7.3 用GWT实现Ajax 6.7.4 服务端的Ajax 6.8 内容协商 7. 验证 7.1 声明约束 7.2 验证约束 7.3 客户端验证 7.4 验证和国际化 8. 服务层 8.1 声明式事务 8.2 服务的作用域 8.3 依赖注入和服务 8.4 使用Java的服务 9. 测试 9.1 单元测试 9.2 集成测试 9.3 功能测试 10. 国际化 10.1 理解信息绑定 10.2 改变Locales 10.3 读取信息 11. 安全 11.1 预防攻击 11.2 字符串的编码和解码 11.3 身份验证 11.4 关于安全的插件 11.4.1 Acegi 11.4.2 JSecurity 12 插件 12.1 创建和安装插件 12.2 理解插件的结构 12.3 提供基础的工件 12.4 评估规约 12.5 参与构建事件 12.6 参与运行时配置 12.7 运行时添加动态方法 12.8 参与自动重载 12.9 理解插件加载的顺序 13. Web服务 13.1 REST 13.2 SOAP 13.3 RSS和Atom 14. Grails和Spring 14.1 Grails的支柱 14.2 配置其他Bean 14.3 通过Beans DSL运行Spring 14.4 配置属性占位 14.5 配置属性重载 15. Grails和Hibernate 15.1 通过Hibernate注释进行映射 15.2 深入了解 16. 脚手架