本文主要是介绍Grails Quick Start,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://www.grails.org/Quick+Start上的文章,是Grails最简单的入门文档,今天忽然看了一下,发现有的东西真的给忽略了,有些没有按规范做法做,遂翻译了一下,希望能对各位有所帮助~~~~
Grails Quick Start
以下是开始简单的grails 工程。也有一个按如下步骤创建一个小的app 的screencast 。
- 快速入门
- 创建一个 Grails project
- 配置数据源(可选)
- 创建领域类- Domain Class
- 创建控制器- controller
- 启动 Grails
- 接下来要做的事
如果你已经安装了Grails ,你可以使用内置的命令(built-in target )来创建新工程:
grails create-app
该命令会提示你输入工程名字,创建的工程目录结构如下:
%PROJECT_HOME%
+ grails-app
+ conf ---> location of configuration artifacts
+ hibernate ---> optional hibernate config
+ spring ---> optional spring config
+ controllers ---> location of controller artifacts
+ domain ---> location of domain classes
+ i18n ---> location of message bundles for i18n
+ services ---> location of services
+ taglib ---> location of tag libraries
+ util ---> location of special utility classes
+ views ---> location of views
+ layouts ---> location of layouts
+ lib
+ scripts ---> scripts
+ src
+ groovy ---> optional; location for Groovy source files
(of types other than those in grails-app/*)
+ java ---> optional; location for Java source files
+ test ---> generated test classes
+ web-app
+ WEB-INF
"create-app" 命令已经给你为每1 种标准环境:Development, TestData, and Production 创建了一个使用闭包的数据源组件,位于"<..>/grails-app/conf" 目录下,名称为DataSource.groovy 。
下面操作的所有例子都是在开发环境下。详见配置# 环境 。
默认的,每个数据源都配置了一个HSQLDB 的内存模式的数据库(易于测试,但可能对你的实际开发没那么有用)所以这步是可选的:
dataSource {
pooled = false
driverClassName = "org.hsqldb.jdbcDriver"
username = "sa"
password = ""
}
// environment specific settings
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:hsqldb:mem:devDB"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:hsqldb:mem:testDb"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:hsqldb:file:prodDb;shutdown=true"
}
}
}
配置数据源只需要改成想要使用的数据库,驱动,把驱动的jar 包放在<..>/lib 下。dataSource 处定义的属性集为子结点继承。
确保此时(cmd 或终端下)在你工程的根目录下,键入
cd my-project
grails create-domain-class
该命令提示你输入领域类的名字。输入"book" 后会在你工程grails-app/domain 下创建Book.groovy 。你可以使用你最喜欢的文本编辑器或IDE 来编辑。
提示: 当你命名领域类的时候,名字不能和数据库中的关键字一样(例如在mysql 中"Group" 是关键字;这时你可以这样命名如"UserGroup" )。
提示: Grails doesn't seem to like names like MYCar or MYtruck (more than one capital letter at the beginning of the name). Names like MyCar or MyTruck, however, seem to work fine. Classes with names that have more than one capital letter in the beginning give 404 pages even if views for the class exist or scaffolding is set. If you are having problems with views not showing up and your names have more than one capital letter in the beginning of the name, try changing your names to the "Grails-friendly" format and try again.
领域类是持久化组件,所有的属性默认被持久化到数据库( 欲知详情,请看 GORM (Grails Object Relational Mapping) 部分):
class Book {
String title
String author
}
此时你可能想创建一些测试数据。一个简单的方法是在"<..>/grails-app/conf/BootStrap.groovy"
( 提示: 0.5.6 版, 或其他版本, 可能被改为ApplicationBootStrap.groovy) Grails application bootstrap class "init" 闭包中构建和保存领域对象:
class BootStrap {
def init = { servletContext ->
// Create some test data
new Book(author:"Stephen King",title:"The Shining").save()
new Book(author:"James Patterson",title:"Along Came a Spider").save()
}
def destroy = {
}
}
( 提示:你可以和在控制器或Grails applications 其他部分一样来构建和保存领域对象; 详见 Grails Object Relational Mapping (GORM) )
控制器 是Grails applications 的核心,负责处理web 请求和把请求的URLs 映射到控制器类或该类中的一个闭包。
运行"grails create-controller " 命令,输入控制器名字。在本例中我们输入"Book" ,会 生成一个名为{{grails-app/controllers/BookController.groovy }} 的控制器。
打开该控制器,使用动态的脚手架 ,它会在运行的时候动态生成你的应用程序。修改如下:
class BookController {
def scaffold = Book
}
确保你输入的"Book" 是首字母大写的B 。
提示: 为了使脚手架有效,你需要在生成的文件移除或注释掉"def index = { } "
备选方案,你也可以运行"grails generate-all" 命令,它会为你生成所有的脚手架,且让生成的控制器独立,而不是用默认的脚手架来替换它。很值得学习。
为了启动Grails app 需运行如下命令
grails run-app
这会启动Jetty servlet engine 的运行在端口8080 的一个实例。为了在不同地端口启动如9090 可以使用{{grails -Dserver.port=9090 run-app }}.
为访问book 列表,打开浏览器,输入:
http://localhost:8080/my-project/book/list
因为英文"list" 是BookController 默认的action ,也可以输入:
http://localhost:8080/my-project/book
在开发模式下, Grails 好像很慢,页面加载可能超过1 秒。如果这样的话,你可以尝试通过设定{{JAVA_OPTS}} 环境变量来增加堆大小的最大值,如: '-Xmx512m'- 当你运行Grails 的时候,这会设定堆大小的最大值为512Mb ,这样就可以感觉到响应速度的提升。
- 详见 Checking Projects into SVN 如何check 你的新建的 grails app 到源码控制。
- IDE 中设置 grails app
- 浏览众多的 grails 插件 , 如安装webtest 通过canoo webtest 来创建功能测试。
这篇关于Grails Quick Start的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!