依赖注入(DI)解耦性的理解

DI VS New方式

  • new 方式
public class TextEditor {
   private SpellChecker spellChecker;
   public TextEditor() {
           this.spellChecker = new spellChecker();//此处紧密耦合,同生共死
   }
   public void spellCheck() {
      spellChecker.checkSpelling();
   }
}```
>  TestEditor 与spellChecker紧密耦合,同生共死。
+ DI方式

public class TextEditor {
private SpellChecker spellChecker;
public TextEditor(SpellChecker spellChecker) {//此处,在采用注入的方式传递spellChecker对象
this.spellChecker = spellChecker;
}
public void spellCheck() {
spellChecker.checkSpelling();
}
}```




   
   
         
   

   
   
   


用constructor的方式注入,具有很强的灵活性,使得对象之前没有很强的耦合性。故依赖注入的作用可以松耦合。

ps:注意两点1.构造函数注入的值 ;2.xml配置文件的对象的创建和注入。

setxxx方法的注入方式 . . . .

  • 详细参考 :+ Spring 基于构造函数的依赖注入

你可能感兴趣的:(依赖注入(DI)解耦性的理解)