Grails &引用;无法对空对象调用方法";将服务注入控制器时

Grails &引用;无法对空对象调用方法";将服务注入控制器时,grails,dependency-injection,Grails,Dependency Injection,我已经创建了一个全新的Grails4.0.0应用程序,并使用GrailsCmd创建了一个域/控制器。我还创建了一个简单的服务,将“Hello World”返回给控制器,然后控制器将其呈现到屏幕上。然而,当尝试调用服务方法时,我得到了“不能调用null对象上的方法”——看起来依赖项注入没有正常工作 我尝试过使用“def”声明服务,也尝试过使用类名声明服务——这两种方法似乎都不起作用 package uk.org.pmms import grails.gorm.transactions.Trans

我已经创建了一个全新的Grails4.0.0应用程序,并使用GrailsCmd创建了一个域/控制器。我还创建了一个简单的服务,将“Hello World”返回给控制器,然后控制器将其呈现到屏幕上。然而,当尝试调用服务方法时,我得到了“不能调用null对象上的方法”——看起来依赖项注入没有正常工作

我尝试过使用“def”声明服务,也尝试过使用类名声明服务——这两种方法似乎都不起作用

package uk.org.pmms

import grails.gorm.transactions.Transactional

@Transactional
class HelloWorldService {

    def hello() {
        return "Hello World"
    }
}
我希望控制器返回clientInstance数据和GSP页面上显示的字符串“Hello World”


当我删除respond语句的“message:”部分时,它会正确显示客户机信息,因此问题肯定只是服务调用。

为您的服务创建的bean的名称将是
helloWorldService

class ClientController {

    def helloWorldService // <--- corrected bean name for auto wire by name.

    def show(Long id){
      Client clientInstance = Client.get(id)
      respond ("client": clientInstance, "message": helloWorldService.hello())
    }
}
类ClientController{

def helloWorldService/为您的服务创建的bean的名称将是
helloWorldService

class ClientController {

    def helloWorldService // <--- corrected bean name for auto wire by name.

    def show(Long id){
      Client clientInstance = Client.get(id)
      respond ("client": clientInstance, "message": helloWorldService.hello())
    }
}
类ClientController{
def helloWorldService//