[心得筆記]spring常用的三種依賴注入方式


一.目前使用最廣泛的 @Autowired:自動裝配

基於@Autowired的自動裝配,默認是根據類型注入,可以用於構造器、接口、方法注入,使用方式如下:

@Autowired
構造方法、方法、接口
@Autowired默認是根據參數類型進行自動裝配,且必須有一個Bean候選者注入默認required=true,如果允許出現0個Bean候選者需要設置屬性“required=false”,“required”屬性含義和@Required一樣,只是@Required只適用於基於XML配置的setter注入方式,只能打在setting方法上。

1)、構造器注入:通過將@Autowired注解放在構造器上來完成構造器注入,默認構造器參數通過類型自動裝配,如下所示:

 public class Test1 {  
    private MessageInterface message;  
    @Autowired //構造器注入  
    private Test1(MessageInterface message) {  
        this.message = message;  
    }
    //省略getter和setter  
  }
(2)、接口注入:通過將@Autowired注解放在構造器上來完成接口注入。
 public class Test2 {  
    @Autowired //接口注入  
    private MessageInterface messageInterface;  
    //省略getter和setter  
} 
(3)、方法參數注入:通過將@Autowired注解放在方法上來完成方法參數注入。

 
public class Test3 {  
    private MessageInterface message;  
 
    @Autowired //setter方法注入  
    public void setMessage(MessageInterface message) {  
        this.message = message;  
    }  
    public String getMessage() {  
        return message;  
    }  
}

public class Test4 {  
    private MessageInterface message; //
    private List<String> list;  
    @Autowired(required = true) //任意一個或多個參數方法注入  
    private void initMessage(MessageInterface message, ArrayList<String> list) {  
        this.message = message;  
        this.list = list;  
    }  
    //省略getter和setter  
} 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM