2

我在将 grailsApplication 注入我在 Grails 2.1 中创建的服务时遇到问题。我已经构建了一个简单的测试应用程序(希望我能解决这个问题,然后将修复移植到我的真实应用程序),它由一个控制器、视图和服务组成。

控制器如下所示:

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 都是空的。如果我将 a 添加ConfigObject到服务并通过grailsApplication.getConfig()从控制器传递来设置它,它工作正常。

谁能指出我正确的方向以找出问题所在?

谢谢

4

1 回答 1

3

您不必将 IncidentService 添加到 resources.groovy。如果该服务在 grails-app/services 下,它将为您完成。删除它,然后再试一次。我认为这可能是你的问题

于 2012-07-31T18:03:39.963 回答