Grail权威指南笔记

拿到书后,马上看了前4章,感觉很不错。
Groovy on Grails,?在Ruby?on?Rails?满天飞的时代,熟悉java的开发人员有了一个敏捷的选择。
前两章比较基础。

第3章中描述目录结构,让我回想起用myeclipse创建web?project时,仅仅有简单src和webroot文件夹。统一的目录结构的确对以后的重构和敏捷提供了一条快速大道。

第4章中描述Grails领域模型的封装写得不错。简单的constrations进行属性约束,灵活的用到hibernate的annonation.模型操作动态的查询,让我回想到以前用DAO层实现方法的笨拙。

第五章?自动生成的CRUD操作,Grails感觉已经做得不错。通过动态语言的groovy的帮助,传统DAO的操作已经显得苍白。

第六章?测试。虽然不能够实现TDD的编程方式。可是我们需要做到是对每一个Domain已经其Control类进行测试。在隔离数据库和容器的以外,可以通过进行合理的单元测试完善测试结构。可以通过内置的mock和stub进行隔离测试。在依赖容器的情况下可以选择Grails的webtest进行功能测试,从而模拟在实际环境中的系统运行状态。

第7章?控制器。最主要部分是控制器中的数据绑定和拦截器。绑定数据的好处在于当数据提交时可以最快的方式进行数据验证。Grails实现拦截器的方式是通过Spring的AOP方式进行的。因为本来Grails就是建立在Spring等框架上。控制简单的切入点,很容易做到类级别的拦截。

第 8章?Groovy?Server?Page?是一个Grail为Groovy写的一个scriptlet,当然就有Grail固定的tag啦。功能和语法基本上JSTl相当。其特点在于可以在编写的时候调用Groovy,灵活性提高的很快。特别在多重级别的查询的时候效果让人吃惊。本章还有一个看点就是 Grails整合在View层的模板。模板体现了CoC的概念。感觉比Tiles2有了更进一步的发展。

第9 章?Ajax?,Grails整合在GSP中加入特定的tag可以进行远程服务的调用了。XMLHttpRequest已经不是什么新鲜的事情了。回想起 JSF中用到4jsf等框架进行Ajax整合时。我对Grails的出现表示欣喜。其中可以调用一些javascript库进行整合,如 prototype,dojo等。本书上好像没有说我喜欢的jquery哦,伤心。

第10章?服务层和作业。对于企业级的应用,如果仅仅用的MVC,不进行业务层的抽象的话,必然在Control层有许多的耦合代码。因此,一般的企业会在control层上抽象一个服务层Businenss?layer。Grails如何做到做到此方面扩展,得益于Spring的IOC。IOC的概念已经不许要多说了。在接口编程实现依赖注入。

最后11章?Groovy和java的一些整合方案,在需要用到的时候在查阅。的确是本好书,3天完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 寻找grails之旅  1.1 java的困惑  1.2 webc2.0时代  1.3 java的力量  1.4 什么是grails   1.4.1 与java集成   1.4.2 简单而强大   1.4.3 吸取的经验教训  1.5 使用grails的原因  1.6 grails入门   1.6.1 运行grails命令   1.6.2 义不容辞的“hellocworld!”  1.7 单元测试  1.8 本章小结 第2章 groovy动态语言  2.1 groovy和java的异同   2.1.1 相同点   2.1.2 不同点  2.2 基础知识   2.1.1 类声明 .  2.2.2 语言级断言(assertion)   2.2.3 groovy字符串   2.2.4 闭包(closures)   2.2.5 列表(list)和映射(map)   2.2.6 expando动态对象   2.2.7 范围(range)  2.3 groovy的高级特性   2.3.1 一切都是对象   2.3.2 元编程(metaprogramming)   2.3.3 生成器(builder)  2.4 本章小结 第3章 grails工程基础架构  3.1 grails工程结构  3.2 grails和mvc模式   3.2.1 mvc中的模型(m)   3.2.2 mvc中的视图(v)   3.2.3 mvc中的控制器(c)   3.2.4 除mvc之外的其他部分  3.3 grails支持多种环境  3.4 数据源配置   3.4.1 支持的数据库   3.4.2 配置自定义方言(dialect)  3.5 引导grails应用程序  3.6 配置日志(logging)   3.6.1 启用sql日志   3.6.2 日志记录(logging)和环境  3.7 grails命令行工具   3.7.1 在不同的端口上运行grails应用程序   3.7.2 打包war存档文件(warcarchive)  3.8 使用grails控制台(console)及命令解释程序(shell)   3.8.1 使用命令行shell   3.8.2 grails控制台(console)  3.9 ide集成   3.9.1 安装groovy-eclipse插件   3.9.2 导入grails工程   3.9.3 在eclipse中运行grails应用程序  3.10 本章小结 第4章 grails中的域(domain)  4.1 简化的orm和grails对象关系映射(gorm)  4.2 gorm基础  4.3 设置属性可选  4.4 gorm中的关系  4.5 执行crud操作   4.5.1 创建书签   4.5.2 读取书签   4.5.3 更新书签   4.5.4 删除书签  4.6 查询领域模型(domaincmodel)   4.6.1 使用get方法和exists方法进行基本查询   4.6.2 列举(listing),70排序(sorting)以及合计(counting)   4.6.3 用动态查找器(finder)查询   4.6.4 使用hql进行查询   4.6.5 按样本(example)查询   4.6.6 使用条件(criteria)查询  4.7 映射继承  4.8 验证领域(domain)模型   4.8.1 使用域约束(domainonstraints)   4.8.2 验证约束(constraints)   4.8.3 自定义约束(constraints)   4.8.4 回顾更新操作  4.9 本章小结 第5章 脚手架(scaffolding)  5.1 动态脚手架   5.1.1 创建操作(create)   5.1.2 读取操作(read)   5.1.3 更新操作(update)   5.1.4 删除操作(delete)   5.1.5 重写(overriding)crud操作   5.1.6 使用约束自定义字段.  5.2 静态脚手架   5.2.1 生成控制器(controller)   5.2.2 生成视图(views)  5.3 本章小结 第6章 测试  6.1 编写高效的单元测试   6.1.1 使用assert关键字   6.1.2 使用测试数据   6.1.3 探索groovytestcase   6.1.4 测试实践  6.2 使用mocks和stubs   6.2.1 mock实战   6.2.2 使用闭包修整(closureurrying)定义测试数据  6.3 使用webtest进行功能测试   6.3.1 安装webtest   6.3.2 生成web测试   6.3.3 执行web测试   6.3.4 与表单交互  6.4 本章小结 第7章 grails控制器(controller)  7.1 控制器介绍  7.2 设置默认操作  7.3 访问request属性   7.3.1 使用日志(logging)   7.3.2 处理request参数   7.3.3 理解flash作用域  7.4 创建模型(model)  7.5 数据绑定和类型转换   7.5.1 用领域模型(domaincmodel)进行数据绑定   7.5.2 使用binddata方法进行数据绑定  7.6 用重定向控制流程  7.7 使用chain方法构造模型(model)  7.8 显示响应(response)   7.8.1 显示文本   7.8.2 显示指定的视图   7.8.3 显示标记(markup)  7.9 拦截操作   7.9.1 before通知   7.9.2 after通知   7.9.3 使用拦截器实现验证  7.10 处理文件上传   7.10.1 使用multipart请求   7.10.2 上传和数据绑定  7.11 本章小结 第8章 groovycservercpages  8.1 基础知识   8.1.1 理解模型   8.1.2 页面指令   8.1.3 groovycscriptlets   8.1.4 在gsp中使用gstring  8.2 grails内置标签   8.2.1 使用标签来设置变量   8.2.2 逻辑标签   8.2.3 迭代标签   8.2.4 过滤器和迭代  8.3 grails动态标签   8.3.1 链接标签   8.3.2 创建表单和字段   8.3.3 验证和错误处理  8.4 国际化支持   8.4.1 标签  8.5 使用布局和模板   8.5.1 布局演示   8.5.2 按照惯例布局   8.5.3 使用meta标签进行布局   8.5.4 演示布局   8.5.5 理解模板   8.5.6 共享模板   8.5.7 重新讨论render方法  8.6 对数据进行分页  8.7 创建自定义标签   8.7.1 创建标签库   8.7.2 自定义标签基础内容   8.7.3 演示自定义标签   8.7.4 测试自定义标签  8.8 本章小结 第9章 ajax  9.1 ajax基础知识  9.2 ajax实战   9.2.1 在远程方法调用前后执行代码   9.2.2 事件处理   9.2.3 完善页面的更新  9.3 创建远程调用链接  9.4 实现ajax效果(effects)  9.5 如何处理javascript事件  9.6 以异步方式提交表单  9.7 关于ajax性能的讨论  9.8 本章小结 第10章 服务(services)和作业(jobs)  10.1 服务基础知识   10.1.1 事务   10.1.2 服务和依赖注入  10.2 服务实战   10.2.1 示例a——扩展搜索功能   10.2.2 示例b——显示del.icio.us中的最新数据   10.2.3 测试服务  10.3 使用quartz进行作业调度   10.3.1 简单的作业   10.3.2 cron作业  10.4 作业实战   10.4.1 修改领域模型   10.4.2 实现控制器   10.4.3 创建视图和模板   10.4.4 作业调度   10.4.5 测试作业  10.5 使用调度程序   10.5.1 暂停和恢复作业   10.5.2 触发作业   10.5.3 增加和删除作业  10.6 本章小结 第11章 与java集成  11.1 服务器端java集成  11.2 通过集成hibernate实现orm   11.2.1 使用hibernatecxml映射   11.2.2 ejb3方式的映射   11.2.3 在pojo实体中使用约束   11.2.4 得到sessionfactory对象  11.3 使用spring进行依赖注入   11.3.1 使用grails中的bean   11.3.2 重载bean的定义  11.4 在grails中使用spring控制器  11.5 在grails中使用acegi  11.6 使用xfire创建soap服务  11.7 本章小结

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值