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