asdtiang的博客 感謝blogjava提供的博客交流平臺

          Grails自定義配置文件讀取

          Posted on 2010-03-27 14:50 asdtiang 閱讀(1531) 評論(0)  編輯  收藏
          標題為《Grails探 索之資源文件的讀取》,但其實是Groovy語言的資源 文件的讀取,任何使用Groovy語言的地方都可以使用這種方法讀取資源文件。因為我們使用Groovy語言的地方,大多要體現在使用Grails上,而 且作為一個Grails項目,使用資源文件是必不可少的。因此,我還是把標題定為“Grails探索之資源文件的讀取”。
          首先,我們來看看Grails的 資源文件,下面的例子是Grails的數據源配置文件的一部分:
          dataSource {
          pooled = false
              driverClassName = "oracle.jdbc.driver.OracleDriver"
              username = "test"
              password = "test"
             
              dialect = org.hibernate.dialect.Oracle9Dialect
          }
           
           
          它就是一種所謂的“DSL”編碼,的確比我們常規的properties文件要 來的簡單,如是properties文件的話,上面的代碼就會變成如下的樣子:
          dataSource. pooled = false
          dataSource. driverClassName = "oracle.jdbc.driver.OracleDriver"
          dataSource. username = "test"
          dataSource. password = "test"
          dataSource. dialect = org.hibernate.dialect.Oracle9Dialect
           
           
          對比上面的兩個例子,可以看到,Groovy語言的DSL配置文件的確是要簡單 多了。但是,我們自己要如何才能讀取形如dataSource.groovy這樣的配置文件呢?
          答案是ConfigSlurper 類。是的,在 Groovy 語言中,我們都通過 ConfigSlurper 類來操作配置文件,在 Grails 里也不例外。
          下面來看一個簡單的例子,假如我們有一個 test.groovy 的文件,內容如下:
          test
          {
                  name = 'Tom'
                  age = 33
                  sex = 'male'
          }
           
           
          首先,我們需要讀入“ test.groovy ”文件:
          def config = new ConfigSlurper().parse( new File( "${System.properties['user.dir']}/configSlurper/test.groovy" ).toURL())
           
           
          注意,System.properties['user.dir'] 獲取的是當前項目的更目錄,其他就沒什么好說的了。
          然后來讀取配置文件的內容:
                println config. test .name
               
                println config. test .age
               
            println config. test .sex
           
           
          注意到,我們讀取配置文件的內容采取的是一種類型如“ Xpath ”的方式,在 Groovy 語言里被成為“ Gpath ”。
          即“ config ”代表的是配置文件,即根節點,然后下索到一級節點,即“ test ”,最后是二級節點,即“ name ”、“ age ”等。
          上面的代碼的運行結果為:
          Tom
          33
          Male
           
           
          果然把上面的配置文件讀取出來,如此類推,我們可以用這樣的方法來做一些比較復 雜的配置文件。在這里就不再說明了。
          在Grails項 目中,我們有一個統一的放置配置文件的地方,即“../grails-app/conf”, 它是在項目的“grails-app/conf”目錄里。我們可以在該目錄下再建一個 “user”目錄,供與項目業務相關的配置文件使用。
          比如,在“grails-app/conf /user”目錄里有一個測試配置文件“Test.groovy”,內容如下:
          package user;
             
             
          test {
                  name = 'Tom'
                  age = '30'
          }
           
          然后,我們就可以使用如下代碼對它進行讀取了:
          def config = new ConfigSlurper().parse( new File(
                    "${System.properties['user.dir']}/grails-app/conf/user/Test.groovy" ).toURL())


          天蒼蒼,野茫茫,風吹草底見牛羊

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 80, comments - 24, trackbacks - 0, articles - 32

          Copyright © asdtiang

          asdtiang的博客 PaidMailz
          點擊廣告網賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
          主站蜘蛛池模板: 正定县| 鹿泉市| 连平县| 崇左市| 奉化市| 方山县| 新安县| 福海县| 甘洛县| 佛学| 平泉县| 景东| 宁武县| 固始县| 泸西县| 儋州市| 邵阳县| 太谷县| 阿拉尔市| 丽江市| 商洛市| 福建省| 左云县| 泸水县| 嘉定区| 巴彦县| 台南市| 平昌县| 廊坊市| 上思县| 霍林郭勒市| 土默特右旗| 凯里市| 永丰县| 淮南市| 开远市| 措勤县| 东阳市| 平南县| 竹山县| 汝城县|