Grails 2.1 で作成したサービスに grailsApplication を注入する際に問題が発生しています。単一のコントローラー、ビュー、およびサービスで構成される単純なテスト アプリケーションを作成しました (この問題を把握し、修正を実際のアプリケーションに移植できることを願っています)。
コントローラーは次のようになります。
class IncidentController {
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
def incidentService
def index() {
incidentService.serviceMethod()
redirect(action: "list", params: params)
}
// Other stuff
}
私のサービスはこれだけで構成されています:
class IncidentService {
def grailsApplication
def serviceMethod() {
System.out.println("Grails application: " + grailsApplication)
}
}
そして、次のように、resources.groovy で IncidentService の注入を宣言します。
beans = {
incidentService(org.myorg.test.IncidentService)
}
今私がオンラインで読んだことはすべて、これはうまくいくはずであり、サービスの grailsApplication を介して構成にアクセスできるはずです。ただし、grailsApplication はいつでも null です。サービスに a を追加し、コントローラーからConfigObject
渡して設定すると、正常に動作します。grailsApplication.getConfig()
ここで何が問題なのかを理解するために、誰かが私を正しい方向に向けることができますか?
ありがとうございました