1. 程式人生 > 實用技巧 >21 Spring 應用上下文

21 Spring 應用上下文

21 Spring 應用上下文

轉載地址

一、背景

在最初Spring使用階段,業務程式碼只需要按照業務本身的流程,走啊走啊,走到哪裡,需要另外的物件來協助了,就給Spring說,我想要個物件--於是Spring就很貼心的幫我們創建出物件。隨著好奇心越來越重,疑問就有了Spring是從哪裡把物件給我們創建出來的呢?

Spring既然要負責應用程式中那麼多物件的建立、管理,就像蘋果要生產那麼多手機一樣,肯定有一個專門建立物件的地方。類比蘋果生產手機的地方叫工廠,比如富士康。但放在軟體開發中,對於Spring建立物件的地方我們就不叫工廠了,而叫做容器。在Java中容器的概念最熟悉的莫過於tomcat了,它是一個執行servlet的web容器,即產生處理servlet的東西。而Spring要想實現依賴注入功能,就離不開物件生產的容器--如果沒有容器負責物件的建立管理,你的程式程式碼只是喊要物件,Spring也無處給我們建立。實際上,容器是Spring框架實現功能的核心,容器不只是幫我們建立物件那麼簡單,它負責了物件整個生命週期的管理--建立、裝配、銷燬。關於Spring這個容器我們最常聽到的一個術語就是IOC容器。所謂IOC,是一種控制反轉的程式設計思想。總之一句話,我們應用程式不用在過問物件的建立和管理物件之間的依賴關係了,都讓IOC容器給代勞了,即我們應用程式中物件的建立、管理的控制權都交給Spring容器,這是一種控制權的反轉,所以Spring容器才能稱為IOC容器。不過這裡要理清一點:並不是說只有Spring的容器才叫IOC容器,基於IOC容器的框架還有很多,並不是Spring特有的。

容器聽起來好像很厲害,