Grails - 无法从Controller调用服务 - >总是得到"无法调用null对象上的方法错误"

w--*_*w-- 0 java service grails groovy controller

我有一个grails应用程序,我在这里按照教程:http:
//www.grails.org/Services

我有一些代码

import org.springframework.beans.factory.InitializingBean

class SubmitRequestService implements InitializingBean{
    def GrailsApplication1
    def setting

    void afterPropertiesSet(){
        this.setting = GrailsApplication1.config.setting
    }

    def void sendHistoricalContract(HistoricalContract hc_instance){
        //... blah blah whatever code      
    }
}

class SubmitRequestController {    
    def submitRequestService
    static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

    def index = {
        // .... blah blah whatever code
        submitRequestService.sendHistoricalContract(historicalContractInstance)
    }    
}
Run Code Online (Sandbox Code Playgroud)

不管我做什么,我似乎无法将服务注入控制器.每当我到达我称之为服务的行时,我都会收到错误:

ERROR errors.GrailsExceptionResolver - 无法在null对象上调用方法sendHistoricalContract()

我究竟做错了什么?

提前致谢

Bur*_*ith 6

GrailsApplication1看起来很奇怪 - 那是什么来的?如果要访问GrailsApplication实例以获取配置,请使用grailsApplicationSpring bean 的依赖注入:

class SubmitRequestService implements InitializingBean {

   private setting

   def grailsApplication

   void afterPropertiesSet() {
       setting = grailsApplication.config.setting
   }

   void sendHistoricalContract(HistoricalContract hc_instance) {
      //... blah blah whatever code      
   }
}
Run Code Online (Sandbox Code Playgroud)

我的猜测是,GrailsApplication1导致与的保持它被注入到控制器的服务有问题,但我认为它会炸毁在启动时异常.尝试运行grails clean以强制完全重新编译.