Grails Quick Start

作者 HoldQ 日期 2016-12-12
Grails Quick Start

Grails Quick Start

安装 grails

安装方式很多

  • 官网安装 https://grails.org
  • 本机是 mac os 选择用 homebrew 安装的
    1
    brew install grails

创建项目

使用 grails 命令 创建项目:

1
grails create-app my-project

项目目录 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
%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

创建领域类

1
2
cd my-project
grails create-domain-class org.example.Book

编辑类 添加一些属性

1
2
3
4
5
6
7
8
9
10
package org.example
class Book {
String title
String author
static constraints = {
title(blank: false)
author(blank: false)
}
}

constraints函数中可以添加一些约束

创建控制器

1
grails create-controller org.example.Book // Note the capital B

简单的 controller

1
2
3
4
def index={
//在控制器中定义的任何一个闭包都会暴露成一个 url
render "Hello World"
}

你会看到 “Hello World”。

来个更高级的:
如果定义了scaffold grails 会给自动创建 CUDR 的逻辑是不是很神奇?

1
2
3
4
package org.example
class BookController {
def scaffold = Book // Note the capital "B"
}

运行

1
grails run-app

访问 http://localhost:8080 你看到了什么 BookController 点进去就是它的 CRUD 了

访问 http://localhost:8080/test Hello world

连接数据库

1
2
3
4
5
6
7
8
9
10
11
12
dataSource:
pooled: true
jmxExport: true
driverClassName: org.postgresql.Driver
username: changeme
password: changeme
environments:
development:
dataSource:
dbCreate: create-drop
url: jdbc:postgresql://10.32.150.91:5432/psyco