grails

grails

Grails是一套用於快速Web應用開發的開源框架,它基於Groovy編程語言,並構建於SpringHibernate等開源框架之上,是一個高生產力一站式框架。

起源


Ruby on Rails開創了將一門強大的編程語言和一個堅持己見、提倡用約定的默認設置代替複雜配置的框架進行創造性結合的先河。然而,還有許多組織並沒有做好 從Java的安全保護傘下走出的準備,也沒有打算放棄他們在Java上的投入。而Grails的出現,使得在一個以Java為中心的環境中實現同等生 產力的想法成為可能。

特點


grails
grails
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環境已配置好)。
我們為了創建一個Grails應用,需要輸入的命令是create-app
這樣就在當前目錄下創建了一個名為helloworld(即我們的應用程序名)的文件夾,在這個文件夾中包含了我們這個項目的整個文件目錄,可以使用如下命令進入這個目錄中查看:
為了完成這個經典的Hello World示例,我們需要運行create-controller命令,您先進入CMD命令行並執行:
運行該命令後會在grails-app/controller目錄下創建一個名為HelloController.groovy的控制器 控制器主要用來完成對Web請求的處理,我們稍微修改一下控制器的內容,使它能夠在頁面上輸出"Hello World!"的字樣,代碼如下:
控制器已經完成了,接下來要使用run-app來啟動內置的jetty伺服器運行剛剛創建的helloworld程序
運行後會在8080埠(默認,可以使用-Dserver.port來指定埠)啟動伺服器,然後在瀏覽器中輸入http://localhost:8080/helloworld來啟動應用程序.