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



- 配置gradle,尽量挂VPN,中间可能需要FQ,较慢
gradle下载:https://gradle.org/releases

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

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

方式二:类似于添加tomcat

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

Grails入门系列(一)的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
- ABP入门系列(2)——通过模板创建MAP版本项目
一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...
- Web大前端时代之:HTML5+CSS3入门系列
准备来一波新技术,待续.... Old: 联系源码:https://github.com/dunitian/LoTHTML5 文档下载:https://github.com/dunitian/LoTD ...
- 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...
- 01.Web大前端时代之:HTML5+CSS3入门系列~初识HTML5
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 文档申明 <!--文档类型申明,html代表是ht ...
随机推荐
- Phonegap 原生控件(Android)与html混合
1. 用命令创建cordova项目 cordova coreate hello com.example.hello hello 2.打开MainActivity 在onCreate方法中加入 setC ...
- js的拼接
var datatr = " <tr>"; datatr += "<td bgcolor='#EEEEEE'><input class='i ...
- unity里面查找所有物体
测试的时候发现一个很诡异的bug,在prefab里面的物体的属性居然不断的在变化,最后一步步调试才发现,区别是查找物体的api,特此记录下 两种api Canvas[] canvasArray = ( ...
- [转]MVC 经验总结_序
<appSettings> <add key="vs:EnableBrowserLink" value="false"/> </a ...
- 【BZOJ】1801 [Ahoi2009]chess 中国象棋(dp)
题目 传送门:QWQ 分析 发现我们关心的不是棋子的位置,我们只关心棋子数量就ok. 首先每行每列最多两个棋子.这是显然的. 然后我觉得本题最难的部分就是对行进行讨论,蒟蒻我一直被限制在了对格点讨论. ...
- PyQt5系列教程(四)信号和槽
软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 前言 信号(Signal)和槽(Slot)是Qt编程中对象间通讯的机制.在Qt中,每一个QObject对象, ...
- Hadoop 2.7.3 安装配置及测试
1.概述 Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.hadoop三种安装模式:单机模式,伪分布式,真正分布式.因在实际生 ...
- MPI 计时器函数 MPI_Wtime()
▶ 计时器函数 MPI_Wtime() 以及头文件 timer.h 中的宏函数 GET_TIME(),类似 time.h 中函数 clock() 的用法.注意 函数 clock() 记录的是CPU时间 ...
- joda-time的使用
值得一提的是该功能被整合到Java 8 中 ,被称为java8 新特新之一 .这意味着不用到包 <!-- 时间操作组件 --> <dependency> ...
- eclipse Android 开发基础 Activity 窗体 界面
eclipse Android 开发基础 新建工程 新建布局layout,new Android Activity就相当于窗体Form. 新建Activity自动生成src下同名的java代码. pu ...
