java - 有没有不应该应用依赖注入(inject)的情况?

标签 java constructor dependency-injection

下面这种类型的代码我见过很多:

   private final Map<String, String> map;

    public SomeConstructor() {
      this.map = new HashMap<String, String>();
    }

好吧,通过将 map 作为参数传递给 SomeConstructor,可以轻松替换此类代码。 扩展我的问题,在某些情况下,依赖注入(inject)不是正确的做法,而是使用构造函数进行初始化吗?

最佳答案

如果您可能想注入(inject)不同类型的参数,请使用依赖注入(inject),这不仅仅是一个内部细节。在像这样的简单情况下,另一个类可能不想注入(inject)映射类型——这是一个内部细节。但是,对于数据库服务之类的东西,您可能希望注入(inject)不同的类型(以及用于测试的 stub )。

关于java - 有没有不应该应用依赖注入(inject)的情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19671860/

相关文章:

java - Spring 4对抽象泛型类的依赖注入(inject)不起作用

dependency-injection - Dagger @Reusable 作用域与 @Singleton

java - 在具有许多不同类型节点的树结构中实现搜索功能

java - 如何在浏览器上显示pdf?

c++ - 使用用户定义的构造函数初始化 C++ 结构

haskell - 为 newtype 定义构造函数

javascript - JS 构造函数中的返回语句

Android fragment 和依赖注入(inject)

java - 如何创建单个注释在 Java 中接受多个值

java - Streams API 出现奇怪的死锁