我正在尝试使用
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}"
}
}
您能确认 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);
}