java依赖注入(setter方法注入)

时间:2014-07-25 22:33:07

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

我在学习如何使用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();
 }
}

1 个答案:

答案 0 :(得分:2)

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

  

您不必为您的班级提供任何构造函数,但在执行此操作时必须小心。   编译器会自动为任何类提供无参数的默认构造函数   构造

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