1. 其實控制反轉(zhuǎn)就是不需要我們手動new一個對象了源譬,它把我們所要實例化的對象都寫在了配置文件xml中了闰集,一般這個類都是我們應(yīng)用的業(yè)務(wù)類(Business Object)勃教⌒质框架內(nèi)部已經(jīng)將xml中配置的類自動實例化成對象捎迫,當我們調(diào)用某個類A晃酒,并且這個類中存在另一個類B時,我們就說A依靠于B,容器就會將B對象注入到A類中窄绒,大多數(shù)情況下都是通過A類中的setB()方法注入進來的贝次。以前是由類中的代碼查找類并new對象,現(xiàn)在是xml文件控制的對象的生成彰导,控制權(quán)由程序代碼轉(zhuǎn)移到了xml文件中蛔翅。這樣做還是有好處的敲茄,假如在A中需要5個對象,那么A類中就會new5個對象山析,不管以后A中用不用到這5個類堰燎,只要用到A類,就會把這5個類全部new出來笋轨。如果這個5個類中有一個缺失秆剪,A類就會報錯,A類與這5個類聯(lián)系緊密爵政。假如我們在xml文件中定義類的話仅讽,當類需要用到其中的三個類時,就會用對應(yīng)的set類()方法將對象注入進來钾挟,不用的就不注入進來洁灵,由此看來,第一個方法時將類A和5個類緊緊聯(lián)系起來掺出,不管用不用到5個類都new一下处渣,真浪費,而第二個方法是第一個類你需要我的時候我就注入進來被你用蛛砰,你不需要就和我沒關(guān)系罐栈。這樣類A和其中的5個類是分別獨立的互不干預,當有關(guān)系的時候泥畅,容器自動注入關(guān)系荠诬。沒關(guān)系的時候,你是老大位仁,我也是大哥柑贞。
2.注入有三種方式:構(gòu)造方法注入、setter方法注入和接口注入(基本不用)聂抢。