輕量級: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等類型都可以采取字面值注入的方式
——若直面值包含特殊字元,可以使用