1. 程式人生 > >Spring註解(三):自動裝配

Spring註解(三):自動裝配

13、自動裝配:
【13-1】@Autowired:自動注入(推薦使用);可以在構造器(如果元件只有一個有參構造器,這個有參構造器的@Autowired可以省略,引數位置的元件還是可以自動從容器中獲取)、引數、方法(一般標註在SET方法上)、屬性中使用
①預設優先按照型別去容器找對應的元件
②如果找到多個相同型別的元件,再將屬性的名稱作為元件的id去容器中查詢
③預設情況下自動裝配一定要將屬性賦值好,沒有就會報錯;可以使用required=false來修改
【13-2】@Qualifier:指定裝配的元件
【13-3】@Primary:預設使用首選的bean,但可以被@Qualifier覆蓋
【13-4】@Resource[java規範的註解]:可以實現@Autowired的效果,預設是按照元件名稱進行裝配,但不能支援@Primary和@Autowired(required=false)功能
【13-5】@Inject[java規範的註解]:需要匯入javax.inject包,可以實現@Autowired的效果,但沒有@Autowired(required=false)功能
【13-6】@Profile:Spring為我們提供的可以根據當前環境,動態的啟用和切換一系列元件的功能
①使用命令列動態引數:在虛擬機器引數位置載入
-Dspring.profiles.active=test
②使用程式碼:建立一個applicationContext;設定需要啟用的環境;註冊主配置類;啟動重新整理容器