Grails入门指南:快速掌握Groovy框架

需积分: 19 4 下载量 139 浏览量 更新于2024-07-26 收藏 5.13MB PDF 举报
"Grails入门指南中文版,由Scott Davis和Jason Rudolph撰写,胡键翻译,旨在帮助读者快速掌握Grails基础开发。本书由InfoQ中文站免费提供,并强调Grails作为Java社区中的创新框架,提供了丰富的功能如MVC、ORM、插件系统等,简化了开发流程。自第一版以来,Grails已历经重大更新,目前插件数量超过400个,持续发展壮大。" Grails是一个基于Groovy语言的开源Web应用框架,它以简化开发流程和提高生产力为目标。Grails的设计理念是“Convention over Configuration”(约定优于配置),这意味着开发者可以快速启动项目,因为它默认设置了很多常见情况下的配置。 在MVC(Model-View-Controller)架构方面,Grails提供了一套完整的解决方案,包括数据持久化、视图渲染和业务逻辑处理。ORM(对象关系映射)通过GORM(Grails Object Relational Mapping)实现,允许开发者使用Groovy语法轻松操作数据库。此外,Grails还集成了拦截器、验证机制、事务管理、URL映射、日志记录和国际化支持(i18n),这些都是构建Web应用时不可或缺的部分。 Grails的测试框架也是其强大之处,它为开发者提供了便捷的测试工具和基础设施,鼓励和简化了Test-Driven Development(TDD)。通过内置的测试支持,开发者可以轻松编写单元测试、集成测试和功能测试,确保代码质量。 另一个关键特性是Grails的插件系统。插件是Grails生态系统的核心,它们扩展了框架的功能,允许开发者通过安装和配置即可利用社区提供的各种服务和组件。这不仅减少了重复工作,也使得Grails能够适应各种不同需求和场景,如Grails GAE插件支持在Google App Engine上部署。 随着时间的发展,Grails经历了多个版本的迭代,从最初的0.3.1版本到现在,功能更加完善,性能有所提升,且社区支持不断加强。目前,超过400个可用插件展示了Grails的活力和潜力,使其成为企业级开发的一个强有力选择。 学习Grails不仅能够提升开发者在Java领域的技能,还能让他们接触到Groovy这种简洁、动态的语言。对于想要进入Grails开发领域的初学者,这本书《Grails入门指南》提供了全面的基础知识和实践经验,是一本理想的入门教材。通过阅读和实践,开发者可以快速掌握Grails框架,从而在快速发展的Web开发领域中占据一席之地。
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. 脚手架