Grails入门系列(一)

JAVAweb开发技术相对于php,python,note.js等新式技术更为复杂,向来以繁杂的配置著称,但是Java任然被广泛的应用于大型企业级的项目,主要是因为技术成熟,稳定,可拓展性强,可以跨平台使用。但如果你仅仅是一个个人开发者,仅仅需要搭建一个小型的,业务逻辑很简单的网站,那么使用springmvc繁杂的项目配置显然会让你事倍功半,效率极低。而Grails的出现,以约定优于配置的思想解决了项目繁杂配置的问题,大大提升了Java程序员开发的效率。
本教程主要基于idea2016以上版本,新版的idea对grails开发做了大量优化
idea下载及配置:http://www.cnblogs.com/wwyz/p/5640412.html
Grails官方文档:http://docs.grails.org/3.2.8/
中文版参考文档:http://www.ourlove520.com/grails-doc-1.0/?qqdrsign=00b1c

预备知识

  1. HTML基础知识。了解HTML,CSS,js的作用和基本语法,并且对HTTP请求已经表单提交(GET/POST)有所了解。
  2. 数据库基础知识。Grails对数据库的操作进行了封装和简化,但是开发人员任然有必要掌握数据库的基础知识,对数据库表、主键、外键、索引、增删改查,表与表之间关系(一对一,一对多,多对多)有所了解。
  3. Java语言和Groovy语言基本语法。Java和groovy是grails框架用到的开发语言,因此你需要掌握这两门语言的基本用法,能够读写代码才能很快的上手开发。
  4. SpringMVC框架和MVC基本思想。Grails基于springmvc,如果你对springmvc有所使用,对于springmvc框架有所理解,那么你可以很快的上手grails,并且感受到grails相对于springmvc的优势。在grails3.0后又集成了springboot框架,springboot也可以了解一下。当然对这些框架都没有使用也可以学习grails,但你至少要搞明白mvc的基本思想,模型?视图?控制器?
  5. Hibernate基础知识(非必需)。

    项目搭建

  6. 创建项目

grails sdk下载:http://www.grails.org/download.html

  1. 配置gradle,尽量挂VPN,中间可能需要FQ,较慢

gradle下载:https://gradle.org/releases

此步骤较为浪费时间,不过仅用配置一次。构建好后会看到下图效果。

  1. 运行项目
    方式一:通过Applacation运行,打开grails-app/init/Applacation,点击绿色三角

方式二:类似于添加tomcat

出现下面页面则项目已经正常运行了。

Grails入门系列(一)的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  3. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  4. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  5. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  6. ABP入门系列(2)——通过模板创建MAP版本项目

    一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...

  7. Web大前端时代之:HTML5+CSS3入门系列

    准备来一波新技术,待续.... Old: 联系源码:https://github.com/dunitian/LoTHTML5 文档下载:https://github.com/dunitian/LoTD ...

  8. 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...

  9. 01.Web大前端时代之:HTML5+CSS3入门系列~初识HTML5

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 文档申明 <!--文档类型申明,html代表是ht ...

随机推荐

  1. Phonegap 原生控件(Android)与html混合

    1. 用命令创建cordova项目 cordova coreate hello com.example.hello hello 2.打开MainActivity 在onCreate方法中加入 setC ...

  2. js的拼接

    var datatr = " <tr>"; datatr += "<td bgcolor='#EEEEEE'><input class='i ...

  3. unity里面查找所有物体

    测试的时候发现一个很诡异的bug,在prefab里面的物体的属性居然不断的在变化,最后一步步调试才发现,区别是查找物体的api,特此记录下 两种api Canvas[] canvasArray = ( ...

  4. [转]MVC 经验总结_序

    <appSettings> <add key="vs:EnableBrowserLink" value="false"/> </a ...

  5. 【BZOJ】1801 [Ahoi2009]chess 中国象棋(dp)

    题目 传送门:QWQ 分析 发现我们关心的不是棋子的位置,我们只关心棋子数量就ok. 首先每行每列最多两个棋子.这是显然的. 然后我觉得本题最难的部分就是对行进行讨论,蒟蒻我一直被限制在了对格点讨论. ...

  6. PyQt5系列教程(四)信号和槽

    软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 前言 信号(Signal)和槽(Slot)是Qt编程中对象间通讯的机制.在Qt中,每一个QObject对象, ...

  7. Hadoop 2.7.3 安装配置及测试

    1.概述 Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.hadoop三种安装模式:单机模式,伪分布式,真正分布式.因在实际生 ...

  8. MPI 计时器函数 MPI_Wtime()

    ▶ 计时器函数 MPI_Wtime() 以及头文件 timer.h 中的宏函数 GET_TIME(),类似 time.h 中函数 clock() 的用法.注意 函数 clock() 记录的是CPU时间 ...

  9. joda-time的使用

    值得一提的是该功能被整合到Java 8 中 ,被称为java8 新特新之一  .这意味着不用到包 <!-- 时间操作组件 -->          <dependency>   ...

  10. eclipse Android 开发基础 Activity 窗体 界面

    eclipse Android 开发基础 新建工程 新建布局layout,new Android Activity就相当于窗体Form. 新建Activity自动生成src下同名的java代码. pu ...