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中