1. 程式人生 > >spring自動注入之註解解析

spring自動注入之註解解析

spring的IOC主要做兩件事:建立bean和注入bean;相比較xml配置的方式使用標註自動注入比較簡單,

首先,建立bean的標註;

@Component(不推薦使用)、

泛指元件,也就是所有需要自動注入的元件都可以;為了專案架構整潔一般標註不屬於下面三類的元件。

@Repository、

用於標註資料訪問元件,即DAO元件

@Service、

用於標註業務層元件

@Controller 、

用於標註控制層元件(如struts中的action)
需要特別說明的是,後面三個註解與前一個並沒有太多差別,詳見http://blog.csdn.net/zhang854429783/article/details/6785574;
再者就是注入bean的標註;也就是表明自己是注入的入口方法,
@Autowired:可以對成員變數、方法和建構函式進行標註,來完成自動裝配的工作,預設按照型別注入,如果沒有找到會報異常。次註解標註變數時spring會把對應的bean賦值給當前bean的變數,不需要set方法,這樣做會破壞java的封裝性當可以消除get,set方法。標註方法和構造方法相當於以上下文找到的bean為引數執行此方法。
@Resource:位置和前者一樣,這個註解相對與前者功能更全面,本身擁有name和type兩個屬性,根據這兩個去選擇bean如果都沒有設定則以欄位名或者方法的屬性名來選擇;
需要特別說明的是前者是spring標籤,後者是j2ee的標註。