天天看點

Spring IOC基礎知識

輕量級:Spring是非侵入性的,使用spring的時候,不需要去實作spring給我們任何提供的接口,也不需要去繼承spring給我們提供的任何父類。然後就可以使用spring給我們提供的功能。

核心内容:依賴注入(DI、IOC),面向切片程式設計(AOP)

IOC(反轉資源擷取的方向):容器主動地将資源推送給它所管理的元件,組建所要做的就是選擇一種合适的方式來接受資源(ApplicationContext代表IOC容器)。

DI(依賴注入):元件以預先定義好的方式(setter方法)接受來自容器的資源注入。

配置bean:

class:bean的全類名,通過反射的方式在IOC容器中建立bean,是以要求bean中必須有無參數的構造器。

Spring提供了兩種類型的IOC實作:

BeanFactory:IOC容器的基本實作,是Spring的基礎設施,面向Spring本身。

ApplicationContext:提供更多的進階特性,是BeanFactory的子接口。面向Spring 的開發者,幾乎所有的場合都是直接使用ApplicationContext,而非底層的BeanFactory。

Spring支援三種依賴注入的方式:

屬性注入

——屬性注入即通過setter方法注入Bean的屬性值或者依賴的對象

——屬性注入使用元素,使用name屬性指定Bean的屬性名稱,value屬性或子

節點指定屬性值

構造注入

——通過構造方法注入Bean的屬性或者依賴對象,它保證了Bean的執行個體化後就可以使用。

——構造器注入元素裡申明屬性。

工廠方法注入(不推薦)

字面值:

——可用字元串表示的值,可以通過元素标簽或者value屬性進行注入。

——基本資料類型或者封裝類、String等類型都可以采取字面值注入的方式

——若直面值包含特殊字元,可以使用