Spring 依赖注入在春天?

Spring 依赖注入在春天?,spring,spring-mvc,Spring,Spring Mvc,当构造函数和setter方法都被定义时,我们如何知道spring框架是使用基于构造函数的依赖项注入还是基于setter方法的依赖项注入 例如。。我有两个java类,如下所示。。 TextEditor.java public class TextEditor { private SpellChecker spellChecker; TextEditor(SpellChecker spellChecker){ this.spellChecker = spellChe

当构造函数和setter方法都被定义时,我们如何知道spring框架是使用基于构造函数的依赖项注入还是基于setter方法的依赖项注入

例如。。我有两个java类,如下所示。。 TextEditor.java

public class TextEditor {
    private SpellChecker spellChecker;

    TextEditor(SpellChecker spellChecker){

       this.spellChecker = spellChecker;
    }


    public void setSpellChecker(SpellChecker spellChecker) {

      this.spellChecker = spellChecker;
    }

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

    public void spellCheck() {
      spellChecker.checkSpelling();
    }
}
及 拼写检查器.java

public class SpellChecker {
   public SpellChecker(){
      System.out.println("Inside SpellChecker constructor." );
   }

   public void checkSpelling(){
      System.out.println("Inside checkSpelling." );
   }
}
在配置文件中,pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <!-- Definition for textEditor bean using inner bean -->
   <bean id="textEditor" class="com.tutorialspoint.TextEditor">
      <property name="spellChecker">
         <bean id="spellChecker" class="SpellChecker"/>
       </property>
   </bean>

</beans>


现在,我们怎么知道spring使用构造函数或Setter方法添加了依赖项呢?

这都是关于开发人员选择他/她如何配置spring来注入依赖项

因为每个人都可以写一大堆关于依赖注入工作原理的文章,所以您应该看到/阅读以下内容:

当使用
时,spring通过setter注入依赖项

如果您想通过构造函数注入它,可以使用


另请参见:

自动连线的
@Autowired
@Inject
注释在哪里?显示您的代码。我想问一下如何使用注释。我使用的是基于XML文件配置的结构。可能重复的我对注释一无所知。就是这样。