【问题标题】:Dependency Injection in GWT or of SpringGWT 或 Spring 中的依赖注入
【发布时间】:2012-07-10 08:52:41
【问题描述】:

我是新的 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 提供了两种依赖注入机制

    1. guice 用于在服务器端实现依赖注入

    2. gin 用于在客户端实现依赖注入。

    3. 和 Spring 依赖注入。

    选择哪一个更好? GWT 依赖注入或 Spring依赖注入?还是两者兼而有之?

请回复我。

谢谢,

萨丽莎。

【问题讨论】:

    标签: gwt gwt-2.4


    【解决方案1】:

    GWTP 通过google-guicegoogle-gin 大量使用依赖注入。因此,您需要将这些库添加到您的项目中。

    google-guice 是服务器端的 DI,而 gin 是客户端的 DI。

    GIN (GWT INjection) 为 Google Web Toolkit 客户端代码带来了自动依赖注入。

    选择哪一个更好? GWT 依赖注入还是 Spring 依赖注入?还是两者兼而有之?

    对于客户,您只有一个选项,即“杜松子酒”。因为 guice 和 spring 都在服务器端使用。并且 spring 和 guice 的组合仅适用于服务器,可能不适用于客户端。

    【讨论】:

      【解决方案2】:

      GWT 不支持 Spring,因此您必须在客户端使用 GIN。

      在服务器端结合 Guice 和 Spring 没有任何意义,因为 Spring 托管 bean 与 Guice 托管 bean 不兼容。

      所以你必须问问自己你想在服务器端使用哪个 DI 框架。两者都做得很好。 Guice 更轻量级,Spring 提供了很多附加模块。

      我看不出在服务器端使用 Guice 有什么好处,因为您在客户端使用 GIN。

      【讨论】:

        【解决方案3】:

        GWT 客户端依赖注入只能由 Gin 框架提供。在这种情况下,如果您想使用 GWT 最佳实践(DI、MVP 等)并测试您的客户端代码,您应该查看this question。它解释了如何在 Guice 的帮助下编写轻量级 JRE 模拟测试。因此,如果您开始使用 Gin,则不应避免使用 Guice。没有任何理由在客户端使用 Gin,在服务器使用 Spring DI。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-10-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-02
          • 1970-01-01
          • 2018-11-21
          相关资源
          最近更新 更多