我有一个名为Mailer的服务和一个 Controller ,应使用此服务:

class DocumentController {

    def mailer

    def publish = {
        mailer.sendReport()
    }

}

但是当我调用publish时,我得到:
java.lang.NullPointerException: Cannot invoke method sendReport() on null object

为什么依赖项注入(inject)在这里不起作用?

最佳答案

Grails与约定有关。我认为邮递员需要称为mailerService。它必须在services目录中。 Controller 必须位于controllers目录中。

从文档中

“服务包含可在Grails应用程序中重复使用的业务逻辑。在Grails中,服务是一个以约定“Service”结尾并且位于grails-app / services目录中的类。可以使用create-service命令:“

10-07 19:02
查看更多