小總結:
如果啓用組件掃描,bean名稱不同時,Spring將嘗試創建一個bean,即使該類的bean已經在spring-config.xml中定義了。
但是,如果在spring配置文件中定義的bean和自動發現的bean具有相同的名稱,那麼在組件掃描時,spring不會創建一個新的bean。
spring.xml 與 spring-mvc.xml 定義具有相同名稱的 bean 後者覆蓋前者
如果沒有構造函數是自動連接的,那麼spring將嘗試使用默認的no-args構造函數創建一個對象。
掃描機制一樣:發現的bean具有相同的名稱,那麼在組件掃描時,spring不會創建一個新的bean。
Reference: