GrailsApplication 或 Grails 6 中的持有者

问题描述 投票:0回答:1

我正在尝试使用

Grails 6.1.0
开发一个应用程序,我需要访问
application.yml
以从中检索一些配置,当我像下面的示例一样使用
GrailsApplication
时,它总是让我
Cannot get property 'config' on null object 
,但是当我使用
Holders.config.getProperty("environments.dataSource.url")
时,我成功获取了属性值,这是访问 Grails 应用程序任何部分中的配置的正确方法还是有更好的方法

import grails.core.*

class MyService {
GrailsApplication grailsApplication

String greeting() {
    def recipient = grailsApplication.config.getProperty('foo.bar.hello')
    return "Hello ${recipient}"
}

}

grails
1个回答
0
投票

您能确认 grailsApplication 为 null 或 grailsApplication.config 为 null 吗?也许 Grails 6 改变了检索配置的方式。

在grails5中,我使用以下静态方法来获取配置

public static String getSeedDataFolder(GrailsApplication application) {
    return application.getConfig().getProperty(SEED_DATA_FOLDER, String.class, DEFAULT_SEED_DATA_FOLDER);
}
© www.soinside.com 2019 - 2024. All rights reserved.