多重載入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
- spring註解@lazy,bean懶載入SpringBean
- Spring——4. Bean的載入(二)SpringBean
- 載入圖片方式
- spring原始碼閱讀筆記08:bean載入之建立beanSpring原始碼筆記Bean
- Android 使用ArrayAdapter 載入Bean資料AndroidAPTBean
- Spring原始碼之Bean的載入(四)Spring原始碼Bean
- Spring原始碼之Bean的載入(二)Spring原始碼Bean
- Spring原始碼之Bean的載入(三)Spring原始碼Bean
- Spring原始碼之Bean的載入(一)Spring原始碼Bean
- Spring如何控制Bean的載入順序SpringBean
- JavaScript 檔案載入方式JavaScript
- 使用sqlloader的直接載入方式和傳統載入方式的效能差異SQL
- spring bean 擴充套件方式SpringBean套件
- 關於angularjs的載入方式AngularJS
- Vue中圖片的載入方式Vue
- 現代化懶載入的方式
- OpenSSL Engine的三種載入方式
- 小說APP原始碼的圖片載入方式,懶載入和預載入的實現APP原始碼
- 死磕Spring之IoC篇 - 開啟 Bean 的載入SpringBean
- Spring原始碼之Bean的載入(五) populateBean 和 DisposableBeanSpring原始碼Bean
- Spring注入Bean的幾種方式SpringBean
- Python頁面載入的等待方式Python
- 不一樣的圖片載入方式
- unity3D AssetBundle載入方式Unity3D
- spring 載入配置檔案的方式Spring
- iOS彈幕高效載入實現方式iOS
- View的載入原理和攔截方式View
- spring原始碼深度解析— IOC 之 開啟 bean 的載入Spring原始碼Bean
- 【原創】比較使用sql*loader的直接載入方式和傳統載入方式的效能差異SQL
- 基於多重替換方式的iOS程式碼混淆方案iOS
- 【基礎】CSS實現多重邊框的5種方式CSS
- Spring中bean的四種注入方式SpringBean
- Spring Bean的3種裝配方式SpringBean
- spring註冊bean的幾種方式SpringBean