2
我对我的域类有一个静态方法,并希望将所有业务逻辑从域类定义中取出到服务中,但由于服务本身已定义,因此无法在域类静态方法中调用该服务在实例不是域类。Grails如何从域类的静态方法调用服务?
最好的解决办法是什么?
E.g.
class Foo {
def fooService
Integer count =0
String name
static void updateFoo(String name) {
def foo = FindByName(name)
fooService.beforeUpdateProcess(foo) //fooService unavailable here
foo.count+=1
foo.save()
}
}
我在想,beforeUpdateProcess本身应该FooService接口的静态方法在这种情况下,解决的方法就是FooService.beforeUpdateProcess(富)。这是处理它的正确方法吗? – user1023110
我建议一般不要使用静态方法,特别是在域或服务中。 – Demian