Spring使用 Autowired注入Bean

2022-02-26 16:32:26 字數 743 閱讀 7416

@autowired是spring3.0引入的註解,可以標註在類的屬性上,這樣spring容器就會採取bytype的方式來注入對應的bean。

@autowired

private instrument instrument;

如果spring容器中不存在乙個型別為instrument的bean,那麼在啟動程式的時候就會報錯:nosuchbeandefinitionexception。還有一種會報錯的情況,就是spring容器中存在多個型別為(is-a)instrument的bean,丟擲的異常與上面一樣。因為spring容器此時不知道該使用哪乙個bean來注入到屬性中,這是乙個fail-fast的策略。那麼如何解決存在多個相同型別的bean的情況呢?可以使用@qualifier註解。

@autowired

@qualifier("guitar")

private instrument instrument;

@qualifier在這裡告訴spring容器如果存在多個型別為instrument的bean,那麼就使用id為guitar的bean來注入instrument這個屬性。@qualifier的作用是縮小@autowire的範圍。

Spring Bean裝配之Autowired註解

autowired public void setinjectiondao injectiondao injectiondao autowired required false public void setinjectiondao injectiondao injectiondao 預設情況下,如...

Spring 使用Spring建立物件

xmlversion 1.0 encoding utf 8 beans xmlns xmlns xsi xmlns p xsi schemalocation spring beans 4.1.xsd beans 2.編寫domain,dao,service 3.在spring中註冊元件 要sprin...

spring 註解使用

一 配置web.xml 1 問題 spring專案中有多個配置檔案mvc.xml dao.xml 2 解決 在web.xml中 contextconfiglocation web inf xml 表示xml檔案路徑 xml表示字尾名為xml的任意檔案 3 可以使用 逗號分隔 二 controller...