2

我正在编写一个 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是在src/groovy与 bean 相同的插件中定义的类,但Something本身不是 spring bean。在 Grails 1.3.7 中,有没有比上面显示的更好的方法来实现这一点?我正在寻找更好的方法,因为我知道 *Holder 类在 Grails 2.0 中已弃用

4

1 回答 1

1

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

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

于 2012-09-19T13:46:57.053 回答