grails中配置文件的读取[适用1.0RC1+]
??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", ????? (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") ? ????? 二.读取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") ? ? ? ? ????? 以下说明一下原因: ????? 在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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |