天天看點

【Spring學習】之 IOC

一、概念

控制反轉(Inversion of Control,英文縮寫為IoC)是一個重要的面向對象程式設計的法則來削減計算機程式的耦合問題,也是輕量級的Spring架構的核心。 控制反轉一般分為兩種類型,依賴注入(Dependency Injection,簡稱DI)和依賴查找(Dependency Lookup)。依賴注入應用比較廣泛。

二、IOC 的底層實作原理

【Spring學習】之 IOC

IOC:Inversion of Control 控制反轉. 指的是 對象的建立權反轉(交給)給 Spring.作用是實作了程式的解耦合.

三、操作案例

(1)導包

【Spring學習】之 IOC

即:4個基礎包+2個log包

【Spring學習】之 IOC

(2)配置ApplicationContext.xml檔案

放在src下

【Spring學習】之 IOC

内容

【Spring學習】之 IOC
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="user" class="cn.yyf.ioc.User"></bean>
</beans>      

(3)内容

【Spring學習】之 IOC

(4)測試

【Spring學習】之 IOC

測試結果:

【Spring學習】之 IOC

四、知識點

(一)ApplicationContext與BeanFactory

ApplicationContext:

【Spring學習】之 IOC

BeanFactory:

【Spring學習】之 IOC

BeanFactory 和 ApplicationContext 的差別:

【Spring學習】之 IOC

(二)Spring 的相關配置:

id 屬性和 name 屬性标簽的配置

【Spring學習】之 IOC

scope 屬性:Bean 的作用範圍.

【Spring學習】之 IOC

Bean 的生命周期的配置:

【Spring學習】之 IOC

(三)IOC 和 DI:

IOC :控制反轉,将對象的建立權交給了Spring.

DI :Dependency Injection 依賴注入.需要有IOC的環境,Spring建立這個類的過程中,Spring将類的依賴的屬性設定進去.