我在将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都为null。如果我向服务添加ConfigObject
并通过从控制器传递grailsApplication.getConfig()
进行设置,则可以正常工作。
任何人都可以请我指出正确的方向,找出问题所在吗?
谢谢
答案 0 :(得分:3)
您不必将IncidentService添加到resources.groovy。如果该服务在grails-app / services下,则会为您完成。删除它,然后再试一次。我想这可能是你的问题