Spring是一個輕量級的Java開發(fā)框架,其提供的兩大基礎(chǔ)功能為IoC和AOP,其中IoC為依賴反轉(zhuǎn)(Inversion of Control)。IOC容器的基本理念就是“為別人服務(wù)”,那為別人服務(wù)什么呢?其中最重要就是業(yè)務(wù)對象的構(gòu)建管理和業(yè)務(wù)對象之間的依賴綁定。
業(yè)務(wù)對象的構(gòu)建管理:業(yè)務(wù)場景中,無需關(guān)心業(yè)務(wù)對象如何創(chuàng)建、如何管理,在需要時只需獲取即可。業(yè)務(wù)對象的構(gòu)建管理交給IoC容器,避免這部分代碼對業(yè)務(wù)邏輯的侵染。
業(yè)務(wù)對象之間的依賴綁定:IoC容器需要先了解業(yè)務(wù)對象之間的依賴關(guān)系,這樣依據(jù)之前業(yè)務(wù)對象的構(gòu)建管理就可以對外提供IoC服務(wù),保證每個業(yè)務(wù)對象在使用時處于就緒狀態(tài)。
IoC容器管理業(yè)務(wù)對象,首先需要知道業(yè)務(wù)對象之間的依賴關(guān)系,以下有幾種方式告訴IoC容器其管理的對象之間的綁定關(guān)系:
可以通過簡單的文本方式記錄被注入對象和其依賴對象的對應(yīng)關(guān)系。
使用描述性更強的XML文件格式記錄對象之間的對應(yīng)關(guān)系。
還可以通過編寫代碼的方式(調(diào)用IoC容器提供的對應(yīng)API)設(shè)置對象之間的關(guān)系。
...
注意:不管是什么方式來告知IoC容器對象之間的綁定關(guān)系,最終都是需要通過編碼方式來將這些信息"寫入"到IoC容器中的。
一個XML配置方式的示例:
<!-- 配置bean,屬性配置方式 --><bean id="helloWorld" class="com.luo.testspring.HelloWorld" scope="singleton"> <property name="name" value="spring"/></bean>
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26