2

プラグイン記述子で Spring Bean を定義する Grails プラグインを作成しています

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')
  }
}

Somethingsrc/groovyBean と同じプラグイン内で定義されたクラスですが、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 に答える