如何通过编码更少来使用gwt中的spring服务接口和实现?

时间:2011-10-09 00:07:17

标签: java spring gwt maven

我有一个有两个模块的maven项目;一个弹簧模块和一个用于gwt模块。 gwt模块依赖于弹簧模块。我将XService接口和XServiceImpl实现作为Spring bean注释为@Service(“myXServiceImpl”)。

我想从gwt客户端调用myXServiceImpl bean的方法。为此,我写了适当的gwt类; XGWTService,XGWTServiceAsync,XGWTServiceImpl和XGWTServiceImpl使用@Autowired的XService(我使用spring4gwt,而XGWTServiceImpl是一个注释为@Service的弹簧bean(“myXGWTServiceImpl”))

实际上,我想要一个实用的解决方案就像定义仅使用@RemoteServiceRelativePath(“spring4gwt / myXServiceImpl”)注释的XGWTServiceAsync一样简单

我想知道是否有一种简单的方法可以调用我的spring bean而无需编写额外的3个类(XGWTService,XGWTServiceAsync,XGWTServiceImpl)?

提前致谢

1 个答案:

答案 0 :(得分:0)

将XService接口及其使用的所有类放在单独的包中。使XService扩展RemoteService。然后,您可以定义包含这些类的GWT模块。将源与jar文件一起打包。继承主GWT模块中的GWT模块,并仅实现XServiceAsync接口。

您也可以取消手动实现XServiceAsync - maven GWT插件可以选择从界面生成Async版本。

唯一令人尴尬的事情是让XService实现GWT的RemoteService接口,因此必须使你的服务实现依赖于GWT jar。但是,由于它不会妨碍我们可以接受的实施方式。

另一种选择是创建一个扩展XService&的XGwtService接口。 RemoteService - 不添加任何其他方法。在服务器上只需XServiceImpl即可。