【发布时间】:2021-05-08 16:12:22
【问题描述】:
我对绑定如何与 Guice 一起工作感到很困惑。我是一家公司的初级开发人员,我正在查看我们的代码库,试图了解我们如何在我们的应用程序中实现 Guice。
我正在阅读有关 Guice 注入的指南:https://www.tutorialspoint.com/guice/guice_first_application.htm,它看起来就像我们在我公司的做法。
- 第一步说创建接口。我们确实在 Module 类中有一个扩展
AbstractModule的绑定。
例如:
bind(SampleManager.class).to(SampleManagerImpl.class).in(Singleton.class)
我们确实在代码库中的这个 SampleManager 类上使用了 @Inject。
-
指南中的第 5 步和第 6 步说创建一个注入器并获取它的一个实例。我们在我们的应用程序中根本不这样做。它是如何工作的?
-
我们有很多类的实例被注入,它们根本没有被绑定,而是用单例注释。例如,我们有
TestManager附加了 Guice 注释@Singleton。然后我们将它注入到其他类中。
所以这给我留下了以下问题:
- 是否需要绑定?
- 使用注入和单例有区别吗?
- 接口
SampleManager有一个方法,并且没有被任何其他类实现。为什么还要使用接口?拥有一个由 one 类实现的接口对我来说毫无意义。它看起来臃肿而混乱。 - 为什么我们不需要执行第 5 步和第 6 步?为什么我们不需要获取注入器的实例?
【问题讨论】:
标签: java dependency-injection guice inject