1. 用NetBeans作為開發工具,安裝了Groovy之后就能夠開發Grails程序,新建一個Grails程序“addrBook”,如圖
2. 配置
配置文件不再是XML,因為在Groovy看來,groovy文件不一定就是要編譯的文件,打開幾個來看發現其形式結構跟json格式類似。
就目前所知,BootStrap.groovy是啟動時要運行的一些腳本。(命名因為遵從“約定優于配置”,所以看不到關于配置啟動順序的文件)。
BuildConfig.groovy是配置生成項目的信息,在里面發現了類似Maven的術語“依賴(dependencies)”。
Config是全局的配置,包括文件編碼,文件的存取規則,發布地址和訪問地址等等。
DataSource.groovy是配置數據源的,跟spring的DataSource類似,有關于數據庫的信息和緩存的配置就在這里。
UrlMappings.groovy是URL和MVC的映射規則描述文件,因為在GSP文件中配置一個鏈接是很靈活的采用g:link,而controller需要將頁面a標簽的具體訪問地址按照規則映射到對應的控制器上面,所以有定義這個規則的必要。
3. 控制器、領域模型和消息
很明顯可以看出Grails風格是三層架構:領域模型-服務-控制器
消息包:是國際化(I18N)的配置,其中最后一個反黑的就是中文。
域類:ORM的模型類,在Grails中占很大一部分,因為弱化了數據庫的作用,在數據存儲方面完全由領域模型來定義,這讓程序員能更好的發揮OO思想。
服務:其實并不作為Grails的中間層,如果按照Grails默認架構方法,用命令行grails generate-all XXX的方法生成一套流程的話,可以發現是沒有服務層的,有控制器直接控制對域模型的操作。
控制器:根據Grails的方法已經能生成大量的可用方法,當然還得根據自己的實際需要對該類進行修改。
4. 其他
標記庫:各種taglib
實用程序類:可以放各種工具,比方說自動測試,數據生成,jetty服務器啟動等等工具類
視圖和布局:當用generate的時候自動生成的頁面文件就在這個目錄下
庫:引用的除了Grails之外的庫,比如數據庫驅動等
腳本:目前還不知道這個腳本指的是本地系統的運行腳本還是Groovy腳本
Groovy源包和Java源包:這里是Groovy項目的風格,在Groovy項目中一般將Groovy和Java的源文件分開兩個源文件夾
target:類似Maven生成最終程序的目錄,里面存放著程序運行以后生成的二進制文件和日志文件。估計最終打包也是在這個目錄下。
集成測試和單元測試:都是放測試類的文件夾,沒做過測試不了解。
Web應用程序:應用程序的根目錄。