Grails:将服务注入命令对象

时间:2012-04-17 12:10:23

标签: 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
...
}

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

2 个答案:

答案 0 :(得分:14)

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

class FilterVisitCommand {

    def accessRightsService

    static constraints = {
        foo(validator: { foo, cmd ->
            cmd.accessRightsService.bar()
        })
    }
}

答案 1 :(得分:0)

Grails rich domain插件为常规Groovy类启用服务注入,验证......