Intellij IDEA 13 利用Grails开发框架构建Java web项目


1.在IDAE中新建grails项目

首先新建一个project,选择新建groovy项目, 然后选择自己的jdk存放目录,和grails框架存放目录,接着点下一步后,选择project存放目录,grails项目就构建成功啦!
Intellij IDEA 13 利用Grails开发框架构建Java web项目

2.grails项目目录结构

以上步骤构建好的项目,目录结构我们选择适合grails项目开发的grails view

Intellij IDEA 13 利用Grails开发框架构建Java web项目

至于每个目录的作用,这里写一下我知道的。。Intellij IDEA 13 利用Grails开发框架构建Java web项目

Domain classes :这里存放po实体类

Controllers : 存放控制器

Views :存放web页面, grails项目中,后缀名为.gsp, 在gsp页面中,标签跟jsp页面有一点差异,后面写。

Services : 业务逻辑

Configuration : 这里面,我觉得最关键的是子目录下有一个 DataSource.groovy的文件,  在这里可以配置hibernate的DataSource,这里会有3个模式,开发模式,测试模式,产品模式,这里可以配不同的数据库,以应付不同的数据库环境,在此目录下还有一个 BootStrap的类文件,可以在之中定义一些项目启动时,需要加载的资源

grails-app/i18n : 这里看名字就知道啦,, 这是grails 对国际化的支持

web-app : 这个目录,类似于通常web项目中的 WebRoot目录,主要存放 js文件,和css文件,和一些image

Sources:groovy :主要是存放,一些vo,和utils类(vo必须写在这里,如果定义在Domain classes中,hibernate会自动建立数据库表orm映射关系)

Sources:Java :这里就是存放的纯粹的java代码,项目中一般也是用来存放工具类的


3.新建po类,利用grails框架对hibernate的支持,建立数据库映射关系

下面,我们来建立一些po,来看看 grails框架是啷个处理orm映射关系滴

选择new一个 Grails Domain Classes,这里我们以Author 和book 命名来 建立po
Intellij IDEA 13 利用Grails开发框架构建Java web项目


点击ok, 控制台可以看到,grails框架正在给你新建的po配bean啦!这些事情grails框架都给你弄好了。


Intellij IDEA 13 利用Grails开发框架构建Java web项目


接着给Author定义属性,constaints是对属性的约束条件


Intellij IDEA 13 利用Grails开发框架构建Java web项目

好,po写成这样,就完事啦,是的。。。完事了,,没有注解,没有配置,啥都不用干。就这样,。。完事。启动项目之后,po和数据库表就映射上啦~~~~~

这里id字段也是不需要的。grails中,po类会默认有一个id字段作为主键,还有一个version字段,作为乐观锁

4.创建controller

点击AuthorController,grails会自动配置controller

Intellij IDEA 13 利用Grails开发框架构建Java web项目

这里生成的controller会有基本的CRUD操作,我们来看save方法是如何定义的

Intellij IDEA 13 利用Grails开发框架构建Java web项目
首先 不同于java的是,定义属性和方法,groovy都是用def来定义,
这里传参的方式,grails用的是springMVC,
hasErrors是grails框架的方法,以免前台传过来的对象有错,这里的有错,一般指的是违反前面po中定义的约束条件,比如nullable,或者 size限制

这里controller响应的方式 是 直接 respond + 返回的参数 ,view : ‘需要跳转的.gsp页面’

在grails项目中,一些简单的CRUD操作,连业务层都可以省去,Dao层呢则是完全看不到的,grails框架已经给你提供了许多种CRUD操作的方法,这里就不详述了

5.,gsp页面的基本写法

跟创建controller类似,点击 Author Views, 这里grails会创建出 CRUD操作 需要的基本 ,gsp页面,其实跟jsp差不多。。。。只是 C:标签 ,变成了 g:标签。。。
这里就不详细说啦,,碎觉觉啦!
Intellij IDEA 13 利用Grails开发框架构建Java web项目