Guice:注入是否需要绑定或接口?我们需要获取注入器的实例吗?

问题描述

我对绑定如何与 Guice 一起工作感到非常困惑。我是一家公司的初级开发人员,我正在查看我们的代码库,试图了解我们如何在我们的应用程序中实现 Guice。

我正在阅读有关 Guice 注入的指南:https://www.tutorialspoint.com/guice/guice_first_application.htm,它看起来就像我们在我公司的做法一样。

  1. 第一步是创建接口。我们确实在扩展 AbstractModule 的 Module 类中有一个绑定。

例如: bind(SampleManager.class).to(SampleManagerImpl.class).in(Singleton.class)

我们确实在代码库中的这个 @Inject 类上使用了 SampleManager

  1. 指南中的第 5 步和第 6 步说创建一个注入器并获取它的一个实例。我们在应用程序中根本不这样做。它是如何工作的?

  2. 我们有很多很多类的实例,它们被注入,它们根本没有被绑定,但是用单例进行了注解。例如,我们在 TestManager 上附加了 Guice 注释 @Singleton。然后我们将它注入到其他类中。

所以这给我留下了以下问题:

  • 是否需要绑定?
  • 使用注入和单例之间有区别吗?
  • 接口 SampleManager 有一个方法,没有被任何其他类实现。为什么还要使用接口?拥有一个由 one 类实现的接口对我来说毫无意义。它看起来臃肿而混乱。
  • 为什么我们不需要执行第 5 步和第 6 步?为什么我们不需要获取注入器的实例?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)