spring 學(xué)習(xí)

依賴注入(DI)和控制翻轉(zhuǎn)(IOC)

????? 依賴注入在書上說的是容器負(fù)責(zé)創(chuàng)建對象和維護對象間的依賴關(guān)系,而不是通過對象本身負(fù)責(zé)自己的創(chuàng)建和解決自己的依賴。DI和IOC在spring環(huán)境下是同等概念。

? ? ? 書上說的每個字都對,也認(rèn)識,但是連起來讀著對初學(xué)者就相對不太友好了,可以說是完全看不懂。經(jīng)過我自己的學(xué)習(xí),似乎明白了一點。之前new對象和對對象進(jìn)行修改或者調(diào)用時,都是由程序員本身去一對一創(chuàng)建。所謂的控制翻轉(zhuǎn),就是把new對象的權(quán)利轉(zhuǎn)交給了spring框架,讓spring框架來幫助管理??梢哉f是移交了控制權(quán),所以控制翻轉(zhuǎn)了。

?????? 聲明Bean的注解:

@Component組件 ,沒有明確的角色

@Service 在service層使用(即業(yè)務(wù)邏輯層)

@Repository 在DAO層使用(即數(shù)據(jù)訪問層,即對數(shù)據(jù)庫進(jìn)行操作的類)

@Control 在MVC——》Spring MVC層使用(即表現(xiàn)層)

??? 注入Bean的注解:

@Autowired 自動注入 默認(rèn)按類型裝配(by type)

@Resource默認(rèn)按名稱裝配,當(dāng)找不到與名稱匹配的bean才會按類型裝配。


??? Java配置:

java配置可以完全提到xml配置

@Configuration 聲明當(dāng)前類是配置類,相當(dāng)于XML文件。

@Bean 注解在方法上,聲明當(dāng)前方法的返回值為Bean。

例如

@Configuration

public class JavaConfig{

@Bean

public UseFunctionService? useFunctionService(FunctionService functionService){

? ? UseFunctionService useFunctionService = new UseFunctionService();

??? useFunctionService.setFunctionService(functionService);

??? return useFunctionService;

??? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容