春天的依赖注入?

时间:2015-07-15 09:01:01

标签: spring spring-mvc

当定义构造函数和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();
    }
}

和 SpellChecker.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使用Constructor或使用Setter方法添加了依赖?

1 个答案:

答案 0 :(得分:0)

关于开发者的选择,他/她如何配置spring来注入依赖。

由于每个人都可以写关于依赖注入如何工作的大文本,你应该看/读这个:

http://www.journaldev.com/2410/spring-dependency-injection-example-with-annotations-and-xml-configuration