当前位置: 首页 > 知识库问答 >
问题:

如何在Guice中正确使用依赖项注入

壤驷建德
2023-03-14

我已经使用GoogleGuice几个月了。我对它很满意,但似乎我用错了。我创造了很多辅助注射,有时还有两个注射器。

因此,我想了解这里的一般原则。

是否应该为连接主类所有内容的所有应用程序配备一个喷油器?

最佳实践是关于从应用程序一开始就尝试在构造函数中注入大量内容吗?(我看到了测试的优势)

我的主要问题是,有时我觉得某些对象组的创建属于某个组件。有必要封装它吗?你会如何处理?

当您拥有一个重要的互连lservices深层结构时,如何传递喷油器或所需的对象。你一定要想办法?我在辅助注射方面做了很多。

即使参数可以在对象之外创建,我仍然更愿意让服务创建参数并将其传递给辅助工厂。因为参数的创建有时会涉及一些属于服务的逻辑(有时)

任何建议都会有帮助

非常感谢

共有1个答案

拓拔嘉运
2023-03-14

是否应该为连接主类所有内容的所有应用程序配备一个喷油器?

通常,是的。一个注射器用于应用;一个注射器用于测试。

这当然取决于模块之间的相互依赖程度,以及它是命令行应用程序还是web应用程序。

最好的做法是,从应用程序开始就尝试在构造函数中注入很多东西吗?(我看到了测试的优势)

是的。

  • 要么直接加载所有模块

如何通过喷油器或所需的物体。

使用@辅助或FactoryModuleBuilder。请参阅辅助注入。

 类似资料:
  • 我想在使用guice实例化子类时,将依赖项注入父类。在下面的示例中,我试图创建的一个实例,同时希望能够在运行时使用Guice注入。我该怎么做?

  • 问题内容: 我对使用Spring将对象注入到类中有疑问。我在项目中使用了以下代码: 然后通常在以下方法上使用它: 否则,我在Spring示例中发现了注入构造函数的情况: 所以两者都正确吗?还是每个都有其属性和用法? 问题答案: tl; dr-构造函数注入是执行DI的最佳方法 后者是正确的,并不是因为Spring或任何依赖注入容器,而是面向对象的类设计原则。 细节 应该设计一种类型,以便您只能根据其

  • 我对使用Spring向类注入对象有疑问。我在我的项目中使用了这样的代码: 然后通常在以下方法中使用: 否则,我在Spring示例中发现,注入构造函数: 所以这两个都是正确的?或者每一个都有它的属性和用法?

  • 我似乎无法导入任何添加的依赖项。在下面的代码(pom.xml)中,我们看到了可以工作的JavaFX依赖项,以及我自己添加但不工作的MongoDB依赖项。 工作的JavaFX语句: 这些不起作用。 当给出错误时:包'org.bson'在模块'org.mongodb.bson'中声明,但是模块'com.jonathan.woollettlight'没有读取它。并且给出 我的文件结构: 扩展了Mongo

  • 问题内容: 如何在不使用调用的情况下使用Spring将依赖项注入? 问题答案: 由于Servlet 3.0 ServletContext具有“ addListener”方法,因此可以通过如下代码添加而不是在web.xml文件中添加侦听器: 这意味着你可以正常地注入“ MyHttpSessionListener”中,并且,只要你的应用程序上下文中存在bean,就会使侦听器注册到容器中

  • 本文向大家介绍webapi中如何使用依赖注入,包括了webapi中如何使用依赖注入的使用技巧和注意事项,需要的朋友参考一下 本篇将要和大家分享的是webapi中如何使用依赖注入,依赖注入这个东西在接口中常用,实际工作中也用的比较频繁,因此这里分享两种在api中依赖注入的方式Ninject和Unity;由于快过年这段时间打算了解下vue.js,所以后面对webapi的分享文章可能会慢点更新,希望支持