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