我需要将GWT与基于服务的域层一起使用 - 而不是使用DAO的bean。具有MVP和RequestFactory的GWT 2.1架构是否适用于此?或者我应该继续使用RPC?
由于
答案 0 :(得分:3)
GWT 2.1.1添加了Locator
和ServiceLocator
机制,允许您控制RequestFactory服务器代码如何获取对实体和服务对象实例的引用。
例如,您可以声明类似
的代码class MyService.class {
// Note that this is not a static method
public void doSomething() {....};
}
class MyServiceLocator implements ServiceLocator {
public Object getInstance(Class<?> clazz) {
// Or use Guice, Spring, whatever provides instances of MyService
return new MyService();
}
}
interface MyRequestFactory extends RequestFactory {
@Service(value=MyService.class, locator=MyServiceLocator.class)
interface ServiceRequest extends RequestContext {
Request<Void> doSomething();
}
ServiceRequest myService();
}
如果您需要更多地控制RequestFactory如何与您的服务器域对象或服务代码进行交互,您可以将ServiceLayerDecorator
的实例注入服务层。