多重載入Bean方式
可以從Bean定義、名稱、注入、生命過程等方面分類 也可以從基於配置方式進行分類。 大體上可以分為以下圖中幾種型別的載入方式。
Bean定義方面:宣告Bean,為了以後的呼叫,大部分用來定義類物件和方法
基於Xml:最簡單的方式,直接在xml檔案中配置id並在java裡獲取Id。
有三種獲取方式,原理相同都是在xml裡設定Bean的Id,也可以通過factory-method方式獲取
需要注意建構函式和set、get方法
UserService userService = (UserService) applicationContext.getBean(“userService”);
UserService userService = (UserService) applicationContext.getBean(“userServiceFactory”);
UserService userService = (UserService) applicationContext.getBean(“getUserService”);
基於註解:最常用的方式之一,用來註解類,有@Component,@Service等常用標籤,不需要set、get等方法
在類上直接寫@Component就會注入該類 如果有有參構造,一定要寫上 無參構造 ,否則報錯,因為IOC是基於反射原理實現的。
@Component
public class Person {
}
然後呼叫該類,@Compoent預設該類小寫
Person person2=(Person) applicationContext.getBean(“person”);
基於Java註解:也算比較常用,常用來設定一些java類屬性
比如:在dog類下bean註解Dog的 toString()方法
測試類裡Cat cat=(Cat) applicationContext.getBean("cat");
System.out.println("–"+cat);
結果:10--cat
執行的狗的toString方法,執行Bean註解的方法,這樣會自動例項化狗物件,前提是這個類已經被註解定義
@Configuratio和@Component都行,
Bean名稱方面:和定義的區別主要是給Bean注入了name屬性注入了值等等
基於Xml:通過id或name指定
大概情況如圖所示
基於註解:直接在類上寫上@Component(“值”)即可
基於Java註解:使用@Bean(name=“值”)給方法註解
Bean注入方面:主要指給屬性賦值
基於Xml:
基於註解:@Autowired 按類自動注入,注入的類需要已經被註解過。@Qualifier按名稱手動注入,通過已經註解過的Bean值來注入。
基於Java註解:在java內部編寫注入邏輯
相關文章
- spring bean定義與載入方式SpringBean
- 徹底搞懂Bean載入Bean
- Spring容器 —— 深入 bean 的載入(五、初始化 bean)SpringBean
- Android 使用ArrayAdapter 載入Bean資料AndroidAPTBean
- spring註解@lazy,bean懶載入SpringBean
- Spring——4. Bean的載入(二)SpringBean
- spring原始碼閱讀筆記08:bean載入之建立beanSpring原始碼筆記Bean
- Spring如何控制Bean的載入順序SpringBean
- Spring原始碼之Bean的載入(二)Spring原始碼Bean
- Spring原始碼之Bean的載入(四)Spring原始碼Bean
- Spring原始碼之Bean的載入(三)Spring原始碼Bean
- Spring原始碼之Bean的載入(一)Spring原始碼Bean
- JavaScript 檔案載入方式JavaScript
- spring bean 擴充套件方式SpringBean套件
- 關於angularjs的載入方式AngularJS
- Spring原始碼之Bean的載入(五) populateBean 和 DisposableBeanSpring原始碼Bean
- 死磕Spring之IoC篇 - 開啟 Bean 的載入SpringBean
- Spring注入Bean的幾種方式SpringBean
- unity3D AssetBundle載入方式Unity3D
- OpenSSL Engine的三種載入方式
- Vue中圖片的載入方式Vue
- Python頁面載入的等待方式Python
- SpringBoot原始碼解析-Bean的載入與自動化配置Spring Boot原始碼Bean
- spring原始碼深度解析— IOC 之 開啟 bean 的載入Spring原始碼Bean
- springboot中執行完某些邏輯後,才算bean載入完,applicationContext才載入完畢Spring BootBeanAPPContext
- spring註冊bean的幾種方式SpringBean
- Spring中bean的四種注入方式SpringBean
- Spring Bean的3種裝配方式SpringBean
- 小說APP原始碼的圖片載入方式,懶載入和預載入的實現APP原始碼
- Spring原始碼解析-applicationContext.xml載入和bean的註冊Spring原始碼APPContextXMLBean
- 如何正確控制springboot中bean的載入順序總結Spring BootBean
- tensorflow載入資料的三種方式
- js延遲載入的方式有哪些?JS
- 非同步載入CSS的方式有哪些?非同步CSS
- 不一樣的圖片載入方式
- 3. 基於註解方式管理BeanBean
- 基於多重替換方式的iOS程式碼混淆方案iOS
- 【基礎】CSS實現多重邊框的5種方式CSS