我有一个需要调用服务的命令类。
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”不适用于命令类。
答案 0 :(得分:14)
如果要将服务注入命令对象进行验证,则可能需要通过命令对象引用该服务。
class FilterVisitCommand {
def accessRightsService
static constraints = {
foo(validator: { foo, cmd ->
cmd.accessRightsService.bar()
})
}
}
答案 1 :(得分:0)
Grails rich domain插件为常规Groovy类启用服务注入,验证......