加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Grails探索之资源文件的读取

发布时间:2020-12-14 17:00:11 所属栏目:大数据 来源:网络整理
导读:??????????????????????????? Grails探索之资源文件的读取 ? 标题为《Grails探索之资源文件的读
??????????????????????????? Grails探索之资源文件的读取
?
标题为《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())

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读