如何从插件访问主应用程序的“grailsApplication”?
示例情况: 我在插件中有一个类,它需要从主应用程序获取资源链接,通常通过“grailsApplication”检索。我该怎么做?
解 在插件类中,您可以简单地指定:
import grails.util.Holders
Holders.getGrailsApplication()
答案 0 :(得分:6)
在服务中,您应该能够添加
def grailsApplication
它将被注入您的服务。
如果你的班级是一个春天的豆子,那么你应该能够把它注入
def doWithSpring = { ->
myBean( org.whatever.BeanClass ) {
grailsApplication = ref( 'grailsApplication' )
}
}
插件主要groovy文件的块。
如果不是这些,您是否尝试过使用Holders类?
def grailsApplication = grails.util.Holders.getGrailsApplication()