轉自:
http://www.java265.com/JavaCourse/202205/3427.html
下文筆者將講述Autowired注解的功能簡介說明,如下所示:
Autowired注解的功能:
用于依賴注入,最常見的是屬性注入,建構式的引數注入
下文筆者將詳細講述各種注入的詳細說明,如下所示:
建構式上使用@Autowired注解
1.當在建構式上加入@Autowired注解時,Spring容器初始化實體時,會呼叫此建構式,進行實體化
2.當構造方法上帶有了@Autowired注解,但建構式是使用private修飾的,此時類也可以被實體化
3.當一個物件只有一個建構式時,Spring實體化物件會默認選擇這個構造方法進行實體化,無需加@Autowired注解
當多個構造方法存在時,才用加@Autowired注解,告訴Spring選擇哪個構造方法進行實體化
4.多個建構式上使用@Autowired,此時只能允許一個required屬性為true,其他的@Autowired直接的required屬性必須設定為false
5.實體化帶引數的構造方法時,Spring有先實體化引數物件中的其他值(這是spring回圈依賴處理的問題)
注意事項:
通常當一個類中有多個建構式時,我們可選擇一個構造方法上加@Autowired注解,spring則會使用此建構式進行實體化物件
類屬性上使用@Autowired注解
類的屬性無論是private ,public ,Spring在構造bean的時候,都會將起屬性進行注入
方法上使用Autowired注解
當在方法上加入Autowired注解,則Spring會自動運行此方法
注意事項:
在BeanPostProcessor類和BeanFactoryPostProcessor類中無法使用@Autowired注解
因為@Autowired注解的收集作業就是由BeanPostProcessor類來完成的
且BeanFactoryPostProcessor類的呼叫時機先于BeanPostProcessor類,所以這兩個類無法使用@Autowired注解,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/499747.html
標籤:其他
