通过自动装配的Grails依赖注入不起作用

dea*_*mon 4 grails dependency-injection autowired

我有一个叫做的服务Mailer和一个应该使用这个服务的控制器:

class DocumentController {

    def mailer

    def publish = {
        mailer.sendReport()
    }

}
Run Code Online (Sandbox Code Playgroud)

但是当我打电话给publish我时:

java.lang.NullPointerException: Cannot invoke method sendReport() on null object
Run Code Online (Sandbox Code Playgroud)

为什么依赖注入不起作用?

hvg*_*des 7

Grails是关于约定的.我认为邮件程序需要被称为mailerService.它需要位于services目录中.控制器需要位于控制器目录中.

从文档中

"服务包含可以在Grails应用程序中重复使用的业务逻辑.在Grails中,服务是一个以约会"服务"结束并存在于grails-app/services目录中的类.可以使用create-service命令:"