grails中配置文件的读取[适用1.0RC1+]

本文介绍了如何在Grails框架中使用Groovy和Properties文件进行自定义配置,并提供了读取配置的方法,包括从Groovy文件和Properties文件读取配置项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  grials中允许我们使用properties文件与groovy文件让开发人员自定义配置信息,我们平台现在只使用了properties,并且读取时是使用java的方式去读取,那样稍显复杂,其实可以通过如下方式配置与读取:

 

      我们的工程中主要使用的配置文件有:

      Config.groovy                          (工程自动读取,我们并没有配置)

      DataSource.groovy                   (工程自动读取,我们并没有配置)

      gjunProperties.properties          (我们配置了数据连接信息)

      StuDataIn.properties                (配置了学生批量导入与平台中使用的IP)

      validate.properties                    (我写的一个验证器所需要的信息)

 

      现在我们自定义了一个通用方法去读取properties文件:ExtendMethodController.getBundleString(String bundelName, String itemString)

   

      其实我们可以在Config.groovy文件中设置平台使用的配置文件:

      grails.config.locations = ["file:${System.properties['base.dir']}/grails-app/conf/gjunProperties.properties",
                           "file:${System.properties['base.dir']}/grails-app/conf/user/StuDataIn.properties",
                           "file:${System.properties['base.dir']}/grails-app/conf/user/validate.properties"
                          ]

      (Config.groovy与DataSource.groovy这两个文件不需要特别配置,系统会自动读取,配置后系统会把这三个文件设置为系统的配置文件)

 

      读取的方法:

      一.读取Config.groovy中的内容.如我们在Config.groovy中配置了:

             myConfig{

                   configString = "This is my config"

             }

 

          读取的方法:

             1.grailsApplication.config.myConfig.configString

             2.先导入类:import org.codehaus.groovy.grails.commons.ConfigurationHolder

                     ConfigObject configObject = ConfigurationHolder.getConfig()

                     def dsConf = configObject.getProperty("myConfig")
                     println dsConf.configString

 

      .读取properties文件,在properties文件中配置了:

             propertiesConfig.configString = config string in properties file.

 

          读取的方法:

             1.grailsApplication.config.propertiesConfig.configString

             2.先导入类:import org.codehaus.groovy.grails.commons.ConfigurationHolder

                     ConfigObject configObject = ConfigurationHolder.getConfig()

                     def dsConf = configObject.getProperty("propertiesConfig")
                     println dsConf.configString

 

 

 

 

      以下说明一下原因:

      在Config.groovy文件中设置了grails.config.locations,可以让grails知道设置的文件需要做为系统的配置文件,系统会把所有的配置项都加载到grailsApplication.config对应的ConfigObject对象中,便可以"."的方式读取配置项.

 

 

 

     如果不在Config.groovy文件中设置grails.config.locations,也可以读取groovy文件中的配置信息,但properties文件使用java读取的方式会简单些.

    不设grails.config.locations读取groovy文件:

    def cs = new ConfigSlurper().parse(new java.io.File(System.properties["base.dir"]+"/grails-app/conf/user/gro.groovy").toURL())
     println cs.tests.name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值