Grails:将服务注入命令对象

Joh*_*ohn 5 grails grails-2.0

我有一个需要调用服务的命令类.

import org.codehaus.groovy.grails.commons.ApplicationHolder as AH

class FilterVisitCommand {

    def accessRightsService = AH.application.mainContext.accessRightsService
    def customerService = AH.application.mainContext.customerService
...
}
Run Code Online (Sandbox Code Playgroud)

通过应用程序持有者的这种服务定义正在工作,但是被剥夺了.是否有其他方式让服务注入?只有"def accessRightsService"不适用于命令类.

doe*_*eri 14

如果要将服务注入命令对象以进行验证,则可能需要通过命令对象引用该服务.

class FilterVisitCommand {

    def accessRightsService

    static constraints = {
        foo(validator: { foo, cmd ->
            cmd.accessRightsService.bar()
        })
    }
}
Run Code Online (Sandbox Code Playgroud)


Rub*_*ben 0

Grails富域插件支持常规 Groovy 类的服务注入、验证等。