<!----><!---->
<!---->
http://www.grails.org/Quick+Start上的文章,是Grails最简单的入门文档,今天忽然看了一下,发现有的东西真的给忽略了,有些没有按规范做法做,遂翻译了一下,希望能对各位有所帮助~~~~
Grails Quick Start
以下是开始简单的grails
工程。也有一个按如下步骤创建一个小的app
的screencast
。
创建一个 Grails project
如果你已经安装了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
为了启动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
,这样就可以感觉到响应速度的提升。
接下来要做的事
分享到:
相关推荐
通过以上章节的总结,我们可以看到 Grails:A Quick-Start Guide 不仅涵盖了 Grails 的基础知识,还提供了实际项目开发的经验分享。无论是初学者还是有一定经验的开发者,都能从这本书中获得有价值的信息,帮助他们在...
Java web development is notoriously tedious, ... This book will get you up and running with Grails by putting it to use in constructing an original, working application from start to finish. Book Details
### Grails 2 快速入门指南核心知识点详解 #### 一、Grails框架简介与特点 Grails 是一个基于Groovy语言的全栈式的Java Web应用开发框架,它极大地简化了开发流程,并且能够快速地搭建出高性能的应用程序。本书...
### Grails 2: A Quick-Start Guide #### 书籍概览 《Grails 2:快速入门指南》是一本专为希望快速掌握Grails框架的开发者编写的实用指南。本书由Dave Klein与Ben Klein共同编写,通过一个逐步迭代的小项目来介绍...
1. **Quick Start**:提供快速入门指南,帮助新手快速上手Grails开发。 2. **Reference**: - **Artifact Reference**:详细介绍Grails中的各种Artifacts,包括其属性、方法等。 - **Builders Reference**:介绍...
5. **戴夫·克莱因(Dave Klein)** —— 《Grails: A Quick-Start Guide》作者: - 表示作者成功地将DDD理论转化为实践。 6. **欧因·伍兹(Eoin Woods)** —— 《Software Systems Architecture: Working with ...