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

时间:2011-01-20 19:47:52

标签: grails dependency-injection autowired

我有一个名为Mailer的服务和一个应该使用此服务的控制器:

class DocumentController {

    def mailer

    def publish = {
        mailer.sendReport()
    }

}

但是当我打电话给publish时,我得到了:

java.lang.NullPointerException: Cannot invoke method sendReport() on null object

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

1 个答案:

答案 0 :(得分:7)

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

来自文档

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