Grails 自定义应用程序上下文持有者



我想从静态方法中访问Grails ConfigObject,我试图遵循这篇文章:http://burtbeckwith.com/blog/?p=1017

该解决方案建议使用单例类创建自定义应用程序上下文持有者,并将其注册到 bean 列表 (resources.groovy) 中。

单例类应该有一个 ApplicationContext 类型的私有属性,该属性应由 setApplicationContext 方法初始化,但看起来这种情况永远不会发生。

如何在单例类实例中设置应用程序上下文?

这取决于您何时尝试访问它 - 如果您的静态方法是在grailsApplication完全设置之前调用的,那么它可能尚未被注入。尝试使用grails.util.Holders(ApplicationHolder 等人的未弃用替代品)或尝试"域类技巧"

new MyDomainObject().getDomainClass().grailsApplication.config

相关内容

最新更新