在讨论组和邮件列表(也包括国外的邮件组)中,我经常看到一些非常“低级的”问题,很明显是从来没有阅读过参考文档的。由此,我萌发了撰写“参考文档速读”这一系列的念头,期望Grails开发者能通过这一系列迅速了解参考文档重点,节约自己的宝贵时间。如无意外,本系列当在春节前完工,算是对即将到来的虎年献礼。
请注意:本速读系列顶多算是参考文档的索引,不要期望能用它来替代参考文档!
按惯例,参考文档的第一章应该向大家交代“Grails是什么?”。总结如下:
1.Grails是受到RoR启发的高生产率Web开发框架。
2.其框架特点:
- 充分利用Groovy语言特点,提供了简化Web开发的大量DSL。
- 建立在众多成熟的工具框架基础之上,如Spring、Hibernate、SiteMesh等。
- 支持插件,便于应用的功能划分、工作成果的固化和分享,为创建良好的Grails生态环境提供了基础。
Grails涉及的技术有:Groovy、GORM、GSP、Spring、Hibernate、SiteMesh、Gant等,因此要想用好Grails,对这些技术的熟练掌握是必须的。
文档的第2章是Grails的快速入门。
首先自然是安装:
- 下载Grails应用
- 设置GRAILS_HOME环境变量
- 设置PATH环境变量
接下来,谈到的是从旧版本向新版本升级时需要注意的信息。如果你之前从未使用过Grails,这一部分完全可以略过。本系列假定读者从未使用过Grails,因此,这部分内容请参见参考文档。
在进入实质练手阶段之前,我们先来了解一下Grails的常用命令:
- 创建应用:grails create-app
- 运行应用:grails run-app
- 测试应用:grails test-app
- 打包应用:grails war
- 创建领域对象:grails create-domain-class
- 创建Controller:grails create-controller
- 产生scaffolding:grails generate-all
- 帮助:grails help
现在轮到“Hello World!”出场了:
- grails create-app helloworld
- cd helloworld
- grails create-controller hello
- grails_app/controllers/HelloController.groovy代码如下:
class HelloController { def world = { render "Hello World!" } }
- grails run-app
- http://localhost:8080/helloworld
不出意外,浏览器中将输出我们熟悉的“Hello World!”。现在,我们近距离看看Grails应用的典型目录:
grails-app目录存放Grails应用相关的groovy代码,其下有子目录:
- conf:配置,它包含hibernate和spring子目录,分别用来配置额外的hibernate和spring配置
- controllers:控制器
- domain:领域对象
- i18n:国际化资源文件
- services:定义服务
- taglib:定义标签库
- views:定义GSP,其中的layout定义了页面布局
- utils:定义工具类
scripts目录存放Gant脚本,扩展名为groovy
src目录存放其他源代码,其下有groovy和java子目录,分别对应这两种语言的代码。
test目录存放测试代码,其中有unit和integration子目录,分别对应单元测试和集成测试。这两种测试的区别在于:集成测试是一个完整的Grails环境,会发生依赖注入;而单元测试则不是,所有东西都是mock。
最后,作为本文的结束,让我们看看一个更典型的例子:实现用户CRUD操作。
- grails create-app user
- cd user
- grails create-domain-class user
- 进入grails_app/domain/User.groovy,两个属性:name、address
- grails generate-all user
- grails run-app
- http://localhost:8080/user
转载于:https://blog.51cto.com/bcptdtptp/303247