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

标签 grails configuration static javabeans

我想从静态方法中访问 Grails ConfigObject,并尝试按照这篇文章进行操作:
http://burtbeckwith.com/blog/?p=1017

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

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

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

最佳答案

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

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

关于Grails 自定义应用程序上下文持有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13450818/

相关文章:

database - 如何从 Delphi XE Professional IDE 中访问数据库?

c# - 如何在类外调用静态构造函数?

grails - 从 Controller 传递以查看grails

grails - 如何通过环境变量覆盖grails属性?

node.js - 如何将选项传递给 npm 的依赖包安装?

c - 静态变量和本地

optimization - gcc的-static选项?

grails - 使用Grails错误error.gsp和GrailsWrappedRuntimeException错误

tomcat - grails 可执行 war 部署

jenkins - 展开 Jenkins 的所有“高级…”选项