服务没有注入Grails域类,Grails 2.0.0和2.0.3

时间:2012-04-25 17:52:36

标签: spring grails

我尝试过多个应用重启,并从2.0.0升级到2.0.3,没有帮助。我总是得到这样的信息:

:   def getCustomerName(){64:       customerService.name
"Cannot get property 'name' on null object"

相关域类部分:

class Instance {
    def customerService
    ...

    def getCustomerName(){
        customerService.name
    }

相关服务类:

class CustomerService {

我正在尝试从有权访问Instance对象的视图中访问getCustomerName方法。也尝试使用其他服务,结果相同。

1 个答案:

答案 0 :(得分:3)

这里只是猜测 - 以下读取类似于getter方法:

    def getCustomerName()

在依赖注入发生之前,框架是否有可能检查getter和setter方法的有效性?

几年前Burt回答了一个关于在onLoad()中使用依赖注入的问题,看起来就是这样。他建议:

添加此导入:

    import org.codehaus.groovy.grails.commons.ApplicationHolder as AH

然后将客户服务引用为

    def customerService = AH.application.mainContext.customerService