天天看点

grails中的相关约定

Grails是一个“约定优于配置”的框架

1、Domain类的约定

(1)所有的domain类都放在grails-app/domain这个文件夹下。

(2)doamin类所有字段默认都被持久化,不论字段访问范围(如public,private等)。类名将为表名,类中的字段名对应表中的字段名.

2、Controller类的约定

(1)Controller类都放在grails-app/controllers这个文件夹下,Controller类的命名都是以Controller结尾。

(2)如果一个controller中的action的名称,与其使用的GSP页面的名称相同,并且GSP页面放在相应的文件夹中,这时,你可以不用设置action对应的GSP。如果两者的命名不相同,则在action中需要设置对应的GSP,例如:

def index(Integer max) {
        params.max = Math.min(max ?: 10, 100)
        respond CampaignOrder.list(params), model: [campaignOrderInstanceCount: CampaignOrder.count()]
    }
           

(3) Controller中所有的

public

方法,都可以被web请求访问

(4)在一个空的Controller中加入

static scffold = true

或者

static scaffold = <领域类的类名>

,运行时将会动态生成相应的controller脚手架和GSP页面。

3、Service的约定

(1)所有的Service类都放在grails-app/services这个文件夹下,Service类的命名都以Service结尾。

(2)所有的service类的方法都是默认加事务的。

(3)所有的service类都会注册为spring的一个bean,并且都是singleton(单例模式)

(4)service加入属性

static scope = 'session'

service可以改变使用的范围

4、URL的约定

(1)所有的URL规则约定配置在conf/UrlMappings.groovy中