2012-11-19 34 views
0

我想一个静态方法内访问的Grails ConfigObject,我试图按照这篇文章: http://burtbeckwith.com/blog/?p=1017Grails的自定义应用程序上下文架

的解决方案建议使用一个单独的类来创建自定义应用程序上下文架和在beans列表(resources.groovy)中注册。

单例类应该有一个ApplicationContext类型的私有属性,该属性应该由setApplicationContext方法初始化,但它看起来像从未发生过。

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

回答

2

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

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

伊恩,感谢您的答复。我不知道持有者类。你能提供一个关于如何使用它来检索ConfigObject的例子吗? –

+0

@ FabrizioD'Ammassa只是说'Holders.config'你以前使用'ConfigurationHolder.config'的地方。 –

相关问题