【问题标题】:java dependency injection (setter methods injection)java依赖注入(setter方法注入)
【发布时间】:2014-07-25 22:33:07
【问题描述】:

在学习如何使用 Spring 之前,我试图了解依赖注入。我的问题是,在下面的基于 Setter 的依赖注入示例中,为什么 TextEditor 类没有构造函数?我们这里不需要构造函数吗?非常感谢您的帮助!!

(代码来源于:http://www.tutorialspoint.com/spring/setter_based_dependency_injection.htm

package com.tutorialspoint;

public class TextEditor {
   private SpellChecker spellChecker; //Q: Why not a constructor for TextEditor, but only a class variable? 

 // a setter method to inject the dependency.
  public void setSpellChecker(SpellChecker spellChecker) {

    System.out.println("Inside setSpellChecker." );
    this.spellChecker = spellChecker;

 }
// a getter method to return spellChecker
  public SpellChecker getSpellChecker() {
     return spellChecker;
  }

  public void spellCheck() {
    spellChecker.checkSpelling();
 }
}

【问题讨论】:

    标签: java spring constructor dependency-injection getter-setter


    【解决方案1】:

    如果您没有显式声明构造函数,则会自动添加默认的无参数公共构造函数。来自tutorials

    您不必为您的类提供任何构造函数,但这样做时必须小心。 编译器自动为任何类提供无参数的默认构造函数 构造函数。

    Spring容器将使用这个构造函数来实例化对象。

    【讨论】:

      猜你喜欢
      • 2019-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      相关资源
      最近更新 更多