Grails是一套用於快速Web套用開發的開源框架,它基於Groovy程式語言,並構建於Spring、Hibernate等開源框架之上,是一個高生產力一站式框架。
基本介紹
- 中文名:grails
- 外文名:grails
- 作用:快速Web套用開發
- 類型:開源框架
- 亮點:外掛程式系統
起源,特點,原理,示例,
起源
Ruby on Rails開創了將一門強大的程式語言和一個堅持己見、提倡用約定的默認設定代替複雜配置的框架進行創造性結合的先河。然而,還有許多組織並沒有做好 從Java的安全保護傘下走出的準備,也沒有打算放棄他們在Java上的投入。而Grails的出現,使得在一個以Java為中心的環境中實現同等生 產力的想法成為可能。
特點
grails的外掛程式系統也是其亮點之一。首先,和rails,django等web框架類似,基於微核心的思想,外掛程式(可重用模組)是框架的一等公民。grails除了核心模組以外的功能幾乎都是通過外掛程式方式實現的。實際上,一個grails外掛程式和一個grails套用基本是完全一樣的,同樣可以使用grails run-app命令來運行。區別僅在於一個外掛程式的根目錄下需要提供一個fooplugin.groovy檔案,提供外掛程式的一些描述信息。
grails外掛程式基本可以做任何事情,grails社區已經提供了各式各樣的外掛程式,發布在grails官方外掛程式源上。查看現有的官方外掛程式,可以執行下面的命令:
grails list-plugins
安裝外掛程式可以執行以下命令:
grails install-plugin外掛程式名或外掛程式路徑
grails uninstall-plugin外掛程式名或者外掛程式路徑
原理
- 基於Spring MVC的控制器層
- 構建於Gant 上的命令行腳本運行環境,內置Tomcat伺服器,不用重新啟動伺服器就可以進行重新載入
- 基於Spring的MessageSource核心概念,提供了對國際化(i18n)的支持
- 基於Spring事務抽象概念,實現事務服務層
示例
一個被用爛了而又經典的例子,在創建應用程式之前,先熟悉一下grails命令的使用(確保grails環境已配置好)。
grailscommandname
我們為了創建一個Grails套用,需要輸入的命令是create-app
grails create-app helloworld
這樣就在當前目錄下創建了一個名為helloworld(即我們的應用程式名)的資料夾,在這個資料夾中包含了我們這個項目的整個檔案目錄,可以使用如下命令進入這個目錄中查看:
cd helloworld
為了完成這個經典的Hello World示例,我們需要運行create-controller命令,您先進入CMD命令行並執行:
grails create-controller hello
運行該命令後會在grails-app/controller目錄下創建一個名為HelloController.groovy的控制器 控制器主要用來完成對Web請求的處理,我們稍微修改一下控制器的內容,使它能夠在頁面上輸出"Hello World!"的字樣,代碼如下:
class HelloController{def world={render "HelloWorld!" }}
控制器已經完成了,接下來要使用run-app來啟動內置的jetty伺服器運行剛剛創建的helloworld程式
grails run-app
運行後會在8080連線埠(默認,可以使用-Dserver.port來指定連線埠)啟動伺服器,然後在瀏覽器中輸入http://localhost:8080/helloworld來啟動應用程式.