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美元)
          主站蜘蛛池模板: 贵州省| 阜平县| 平阴县| 奉贤区| 伊金霍洛旗| 连云港市| 渭源县| 来凤县| 常山县| 罗甸县| 金塔县| 府谷县| 江孜县| 英吉沙县| 壶关县| 台前县| 仪陇县| 上饶市| 嘉定区| 双江| 社旗县| 潢川县| 巴林左旗| 灵丘县| 来宾市| 辽阳市| 德庆县| 安国市| 佛冈县| 集贤县| 武鸣县| 石家庄市| 富宁县| 大港区| 长垣县| 高陵县| 朝阳县| 新巴尔虎右旗| 呈贡县| 永平县| 昂仁县|