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