我尝试过多次重启应用程序,然后从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对象的 View 访问getCustomerName方法。还尝试了另一项服务,结果相同。

最佳答案

这里只是一个猜测-以下内容读起来像一个getter方法:

    def getCustomerName()

框架是否有可能在进行依赖项注入(inject)之前检查getter和setter方法的有效性?

Burt几年前回答了一个关于在onLoad()中使用依赖注入(inject)的问题,看来这是正在发生的事情。他建议:

添加此导入:
    import org.codehaus.groovy.grails.commons.ApplicationHolder as AH

然后引用客户服务为
    def customerService = AH.application.mainContext.customerService

10-06 13:17