从src / groovy中的类中获取对spring bean的引用

时间:2012-09-19 12:42:34

标签: spring grails groovy grails-plugin

我正在编写一个Grails插件,用于在插件描述符中定义一个Spring bean

def doWithSpring = {
    myBean(MyBean)
}

我需要从插件中的另一个类获取对此bean的引用。

class Something {

  def doIt() {
    // I need to get a reference to myBean here. Is this the best way?
    MyBean myBean = ApplicationHolder.application.mainContext.getBean('myBean')
  }
}

Something是在与{bean}相同的插件中src/groovy中定义的类,但Something本身不是一个弹簧bean。在Grails 1.3.7中,实现这一目标的方法比上面所示的更好吗?我正在寻找一种更好的方法,因为我知道在Grails 2.0中不推荐使用* Holder类

1 个答案:

答案 0 :(得分:1)

在Grails 2.x中存在Holders实用程序类来获取grailsApplicationapplicationContext

在1.3.7中,我认为该选项是创建自己的持有者,如here所述。