1. 程式人生 > >spring學習總結(二)

spring學習總結(二)

spring IoC容器(控制反轉)
1.使用依賴注入(DI)管理應用程式元件

2.容器
BeanFactory容器(為依賴注入DI提供支援)
ApplicationContext 容器

3.Bean定義
class:強制性的,用來建立bean類
name:唯一標識,可以使用ID或name來指定bean標識
lazy-initialization mode:延遲初始化的 bean

4.bean的作用域(作用域屬性scope)
prototype:強制 Spring 在每次需要時都產生一個新的 bean
singleton: 讓 Spring 在每次需要時都返回同一個bean
request
session
global-session

< bean id=”…” class=”…” scope=”prototype”>

5.bean的生命週期
(1)當一個 bean 被例項化時,它可能需要執行一些初始化使它轉換成可用狀態。同樣,當 bean 不再需要,並且從容器中移除時,可能需要做一些清除工作。
(2)為了定義安裝和拆卸一個 bean,我們只要宣告帶有 init-method 和/或 destroy-method 引數的 。init-method 屬性指定一個方法,在例項化 bean 時,立即呼叫該方法。同樣,destroy-method 指定一個方法,只有從容器中移除 bean 之後,才能呼叫該方法。
< bean id=”exampleBean” class=”examples.ExampleBean” init-method=”init”/>

< bean id=”exampleBean” class=”examples.ExampleBean” destroy-method=”destroy”/>

6.bean定義繼承
(1)bean 定義可以包含建構函式的引數,屬性值,容器的具體資訊例如初始化方法,靜態工廠方法名,等等。

(2)子 bean 的定義繼承父定義的配置資料。

(3)父 bean 自身不能被例項化,因為它是不完整的,而且它也被明確地標記為抽象的。當一個定義是抽象的,它僅僅作為一個純粹的模板 bean 定義來使用的,充當子定義的父定義使用。