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

时间:2012-11-19 09:24:30

标签: grails configuration static javabeans

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

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

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

如何在我的单例类实例中设置ApplicationContext?

1 个答案:

答案 0 :(得分:2)

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

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