在 java 库中使用依赖注入好吗?

Is it good to use dependency injection in a java library?

我有一个播放应用程序,想从应用程序中取出一个通用操作并将其作为一个库,以便在其他播放应用程序中使用。

这个提议的库有一个契约(接口)和顶部的几个实现。

如果我使用 guice 通过命名注入(使用注释)绑定联系人和实现,并在播放应用程序中使用适当的注释调用它们,而不在应用程序中实例化库 类,会怎样?

在图书馆中使用 DI 是可以的,尽管这会增加图书馆用户也将被迫使用 DI 的限制。我通常在我编写的 java 库中使用 DI,但随后我将 client-facing 接口与工厂包装在一起。这样,您就可以两全其美!