我是新的GWT。我有一个项目,我使用GWT和Spring作为我们的技术来实现。 我已经通过以下链接完成了与GWT的Spring集成。 http://technophiliac.wordpress.com/2008/08/24/giving-gwt-a-spring-in-its-step/ https://docs.google.com/document/pub?id=1USHYx9cB3B1s1zM4dlkzEZ759D3lEfavn_dDewvBkaA 在这里,我可以将依赖注入仅应用于具有实际业务(远程服务)功能的服务器端类。
我的问题是,
如何为所有其他类应用依赖注入 在客户端,共享,查看,演示者包中?
哪种依赖注入更好?我的意思是GWT提供了两种依赖注入机制
guice用于在服务器端实现依赖注入
gin用于在客户端实现依赖注入。
和Spring依赖注入。
哪一个更好选择?无论是GWT依赖注入还是 Spring依赖注入?或两者兼而有之?
请回复我。
谢谢,
萨里萨。
答案 0 :(得分:5)
GWTP通过google-guice和google-gin大量使用依赖注入。因此,您需要将这些库添加到项目中。
google-guice是服务器端的DI,而gin是客户端的DI。
GIN(GWT INjection)为Google Web Toolkit客户端代码带来了自动依赖注入。
哪一个更好选择? GWT依赖注入还是Spring依赖注入?或两者兼而有之?
对于客户,您只有一个选项是“杜松子酒”。因为guice& spring都在服务器端使用。还有spring和guice的组合,仅适用于服务器,不适用于客户端。
答案 1 :(得分:0)
GWT不支持Spring,因此您必须在客户端使用GIN。
在服务器端组合Guice和Spring毫无意义,因为Spring托管bean与Guice托管bean不兼容。
所以你必须问问自己在服务器端要使用哪个DI框架。两者都做得很好。 Guice更加轻量级,Spring提供了许多额外的模块。
我认为在服务器端使用Guice没有任何优势,因为您在客户端使用GIN。
答案 2 :(得分:0)
GWT客户端依赖注入只能由Gin框架提供。在这种情况下,如果您想使用GWT最佳实践(DI,MVP等)并测试您的客户端代码,您应该查看this question。它解释了如何在Guice的帮助下编写轻量级JRE模拟测试。因此,如果您开始使用Gin,则不应该避免使用Guice。没有任何理由在客户端使用Gin,在服务器上使用Spring DI。