问题描述
我对绑定如何与 Guice 一起工作感到非常困惑。我是一家公司的初级开发人员,我正在查看我们的代码库,试图了解我们如何在我们的应用程序中实现 Guice。
我正在阅读有关 Guice 注入的指南:https://www.tutorialspoint.com/guice/guice_first_application.htm,它看起来就像我们在我公司的做法一样。
- 第一步是创建接口。我们确实在扩展
AbstractModule
的 Module 类中有一个绑定。
例如:
bind(SampleManager.class).to(SampleManagerImpl.class).in(Singleton.class)
我们确实在代码库中的这个 @Inject
类上使用了 SampleManager
。
-
指南中的第 5 步和第 6 步说创建一个注入器并获取它的一个实例。我们在应用程序中根本不这样做。它是如何工作的?
-
我们有很多很多类的实例,它们被注入,它们根本没有被绑定,但是用单例进行了注解。例如,我们在
TestManager
上附加了 Guice 注释@Singleton
。然后我们将它注入到其他类中。
所以这给我留下了以下问题:
- 是否需要绑定?
- 使用注入和单例之间有区别吗?
- 接口
SampleManager
有一个方法,没有被任何其他类实现。为什么还要使用接口?拥有一个由 one 类实现的接口对我来说毫无意义。它看起来臃肿而混乱。 - 为什么我们不需要执行第 5 步和第 6 步?为什么我们不需要获取注入器的实例?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)