Grails框架与Groovy语言快速开发详解

需积分: 9 0 下载量 55 浏览量 更新于2024-07-17 收藏 637KB PDF 举报
"这篇资源是关于Grails和Groovy的电子书,主要介绍了Grails作为Java平台上的快速Web应用开发框架。书中由Mischa Kölliker和Guido Schmutz撰写,日期为2008年6月24日。内容涵盖了Grails的基本概念、应用开发步骤、领域模型设计、控制器与Groovy服务器页面、以及Grails应用程序的构建等。" 在深入探讨Grails和Groovy的知识点之前,让我们先了解这两个技术的基础。Groovy是一种面向对象的、动态的、基于Java虚拟机(JVM)的编程语言,它简化了Java语法,并提供了元编程和动态语言的功能。而Grails则是一个基于Groovy的开源Web应用框架,它旨在加速Java平台上的Web开发过程,通过“约定优于配置”的原则降低了开发复杂性。 1. **什么是Grails?** - Grails是Groovy语言的一个框架,类似于Ruby on Rails对Ruby的作用,即提供了一种高效开发Web应用的方法。 - 它的目标是将“约定优于配置”的理念引入Groovy,使得开发者可以更加专注于业务逻辑,而不是底层配置。 - Grails是一个完整的Web框架,利用了Groovy语言的优势,并且可以与Java环境无缝集成,可以作为独立的开发环境,也可以与现有的Java业务逻辑结合使用。 2. **8步构建Grails应用** - 书中可能详细阐述了从创建项目、定义模型、构建控制器、创建视图到测试和部署的一系列步骤,这些步骤帮助开发者快速搭建一个功能齐全的应用。 3. **领域模型设计在GORM中的实现** - GORM(Grails Object-Relational Mapping)是Grails的ORM工具,它简化了数据库交互,允许开发者用Groovy类来表示数据库表,使得数据操作更直观和简洁。 4. **Grails控制器和Groovy服务器页面(GSP)** - 控制器负责处理HTTP请求,调用业务逻辑并返回响应。 - GSP是Grails的视图层技术,结合了HTML和Groovy代码,用于渲染动态内容。 5. **Grails应用程序** - Grails应用程序通常由一系列的控制器、服务、域类和视图组成,遵循MVC(模型-视图-控制器)架构模式。 - 应用程序可以通过Grails的插件系统扩展,以实现各种功能,如安全、缓存、国际化等。 这本书的内容不仅限于上述概述,可能还包括了Grails的国际化支持、AOP(面向切面编程)、测试策略、性能优化、以及如何利用Grails社区和生态系统等更深入的话题。对于想要学习或已经在使用Grails和Groovy进行开发的人来说,这是一份宝贵的参考资料。
2010-02-26 上传
Grails 技术精解与Web开发实践【源码+样章】----下载不扣分,回帖加1分,欢迎下载,童叟无欺 第1章 导论 1 1.1 RoR的革命与Web开发的新时代 1 1.2 RoR并不完美 2 1.2.1 Ruby语言方面的不足 2 1.2.2 对历史遗留项目的支持较为困难 2 1.3 Grails的诞生解决了一些遗憾 3 1.3.1 Groovy语言 3 1.3.2 Grails站在了巨人的肩膀之上 3 1.3.3 Grails有良好的扩展性 3 1.4 对Grails的一些误解 3 1.5 本书的使用说明 4 1.6 本章小结 4 第一篇 入门篇 第2章 Hello Grails 6 2.1 Grails的安装 6 2.1.1 JDK的安装与配置 6 2.1.2 Grails的安装 7 2.2 创建Grails工程 8 2.3 Grails的MVC架构 11 2.4 Scaffold应用程序 14 2.5 开发工具的使用 17 2.6 本章小结 19 第3章 Groovy VS Java 20 3.1 Groovy的基本类型与运算符 21 3.1.1 字符串 21 3.1.2 数字 22 3.1.3 Groovy的类 23 3.1.4 运算符 24 3.2 Groovy的控制结构 25 3.3 Groovy的集合 27 3.3.1 列表 27 3.3.2 映射 28 3.3.3 区间 29 3.4 Groovy的闭包 30 3.4.1 闭包的定义 30 3.4.2 闭包的代表 31 3.4.3 闭包在GDK中的使用 31 3.5 本章小结 33 第二篇 实际应用 第4章 商品维护 36 4.1 准备工作 36 4.2 查看商品列表 40 4.3 创建和编辑商品 44 4.4 本章小结 48 第5章 商品搜索 49 5.1 构造查询表单 49 5.2 复杂的数据库查询 50 5.2.1 HibernateCriteriaBuilder 的初窥 51 5.2.2 数据库的分页查询 54 5.2.3 将查询改造为inner join 59 5.3 显示分页导航 60 5.4 本章小结 62 第6章 用户注册与登录 63 6.1 表单验证与资源文件 63 6.2 用户注册 69 6.3 用户登录 73 6.3.1 登录的数据库查询 73 6.3.2 使用Session维持会话 74 6.3.3 自定义Codec实现对 密码加密 75 6.4 登录保护 76 6.5 本章小结 79 第7章 购物车与订单 80 7.1 购物车的查看与管理 80 7.1.1 定义购物车的Domain类 80 7.1.2 定义OrderService类 82 7.1.3 显示购物车 84 7.1.4 维护购物车 85 7.2 订单的提交 90 7.2.1 定义订单的Domain类 90 7.2.2 提交订单的表单页面 90 7.2.3 订单的保存 94 7.3 订单的查看 95 7.4 本章小结 99 第8章 系统后台管理 100 8.1 页面布局的使用 100 8.1.1 Grails Layout的基础知识 100 8.1.2 为系统后台管理创建 统一的decorator 103 8.2 文件上传的实现 107 8.2.1 开发表单页面 107 8.2.2 在Controller中接收文件 108 8.3 修改订单状态 109 8.4 本章小结 110 第9章 Grails的自动化测试 111 9.1 Grails自动化测试基础知识 111 9.2 编写测试用例 113 9.2.1 对Domain类进行测试 113 9.2.2 对Service类进行测试 116 9.2.3 对Controller进行测试 118 9.2.4 对Taglib进行测试 120 9.3 本章小结 121 第10章 部署应用 122 10.1 Grails对部署的支持 122 10.2 配置应用程序 124 10.3 本章小结 127 第三篇 深入了解Grails 第11章 深入GORM 130 11.1 自定义映射 130 11.1.1 基本映射 130 11.1.2 配置主键 131 11.1.3 “锁”与Version 133 11.1.4 事件与自动时间戳 134 11.1.5 映射Blob字段 134 11.1.6 定义非持久化属性 135 11.2 深入理解Domain间的关系 136 11.2.1 一对一关系 136 11.2.2 一对多关系 137 11.2.3 多对多关系 139 11.2.4 继承关系 141 11.2.5 合成关系 143 11.3 数据库查询小结 143 11.3.1 GORM提供了便捷的 查询方法 143 11.3.2 基于HQL的查询 145 11.4 对GORM进行性能优化 146 11.4.1 设置抓取模式 147 11.4.2 使用二级缓存 147 11.5 使用GRAG工具生成Domain 151 11.6 本章小结 154 第12章 与Spring整合 155 12.1 依赖注入与Spring容器基础 155 12.1.1 依赖注入 155 12.1.2 Spring容器基础 157 12.2 在Grails中使用Spring 158 12.3 本章小结 160 第13章 深入Controller 161 13.1 Controller中常用的属性与方法 161 13.2 自定义URL Mapping 164 13.3 Web Flow 167 13.4 本章小结 172 第14章 深入Groovy Server Page 174 14.1 GSP基础知识 174 14.1.1 GSP输出表达式 174 14.1.2 GSP中预定义的变量 与作用域 175 14.2 GSP标签库 175 14.2.1 常用的内置标签 176 14.2.2 开发自定义标签 179 14.3 Grails对Ajax的支持 182 14.4 本章小结 184 第15章 实现Web Service 185 15.1 REST风格的Web Service 185 15.1.1 什么是REST 185 15.1.2 在Grails中实现REST 185 15.1.3 在Client端调用服务 187 15.2 基于SOAP的传统Web Service 188 15.3 本章小结 189 第16章 使用Grails插件 190 16.1 插件的安装 190 16.2 插件的组织结构 196 16.3 插件的使用 197 16.3.1 Acegi插件 197 16.3.2 Debug插件 204 16.4 本章小结 205 第四篇 Grails解密 第17章 高级Groovy特性 208 17.1 动态方法调用与属性访问 208 17.1.1 动态方法调用 208 17.1.2 动态属性访问 208 17.2 invokeMethod和getProperty 209 17.3 MOP动态基础 211 17.3.1 遍历方法和属性 211 17.3.2 动态添加方法 213 17.3.3 动态添加属性 215 17.3.4 使用方法对象 216 17.3.5 为某一特定的实例 添加方法 217 17.4 本章小结 218 第18章 Grails插件开发 219 18.1 创建与发布插件 219 18.2 插件能做什么 221 18.2.1 添加Spring配置信息 223 18.2.2 与Spring容器交互 224 18.2.3 修改web.xml 224 18.2.4 添加动态方法 226 18.2.5 捕获变更 227 18.3 插件的依赖关系 229 18.4 在安装或升级时执行附加操作 230 18.5 本章小结 230 第19章 浅析Grails的源程序 231 19.1 准备工作 231 19.1.1 下载源码 231 19.1.2 编译Grails源码 231 19.2 HibernateCriteriaBuilder的原理 233 19.3 开启Hibernate Query Cache 237 19.4 本章小结 241 第20章 未来Grails版本的新特性 242 20.1 GORM的新特性 242 20.1.1 更多的GORM事件 242 20.1.2 映射基本类型的集合 243 20.1.3 对Domain的只读访问 243 20.1.4 定义默认排序字段 243 20.1.5 改进的findBy 245 20.2 对插件系统的改进 245 20.3 数据绑定 245 20.4 在GSP中使用JSP的标签 246 20.5 加密配置文件中的数据库密码 246 20.6 本章小结 246 参考文献 247 索引 248 Grails技术精解与Web开发实践 目录 XII XI