Grails Quick Start

 http://www.grails.org/Quick+Start上的文章,是Grails最简单的入门文档,今天忽然看了一下,发现有的东西真的给忽略了,有些没有按规范做法做,遂翻译了一下,希望能对各位有所帮助~~~~

 

 

 

Grails Quick Start

以下是开始简单的grails 工程。也有一个按如下步骤创建一个小的appscreencast

创建一个 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 ,这样就可以感觉到响应速度的提升。

接下来要做的事

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值