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