1. 程式人生 > >spring core與context理解

spring core與context理解

Spring core是核心層,擁有這BeanFactory這個強大的工廠,是所有bean的管理器; 而spring context是上下文執行環境,基於spring core之上的一個架構, 它之上是spring web,這下明白了吧,主要應用就是web的一個初始化上下文環境;

Spring core是用來負責發現、建立並處理bean之間的關係的一個工具包;可以這麼理解,core把bean的建立、bean的互相注入的方法定義好了,上層服務只需要呼叫就好了;提供功能但不呼叫就是spring core的存在意義。

而上層的服務會呼叫底層的core來實現它們各自的功能,

context呼叫別人的功能; 我們知道Bean包裝的是Object,而Object必然有資料,如何給這些資料提供生存環境就是Context要解決的問題,對Context來說他就是要發現每個Bean之間的關係,為它們建立這種關係並且要維護好這種關係。所以Context就是一個Bean關係的集合,這個關係集合又叫Ioc容器,一旦建立起這個Ioc容器後Spring就可以為你工作了。

Context作為Spring的Ioc容器,基本上整合了Spring的大部分功能,或者說是大部分功能的基礎,所以它呼叫了大部分的spring core中的方法。

我們一般使用application context時都是web應用,由web伺服器來進行控制容器的啟動;但是我們手動使用java應用來獲取bean時需要注意:

1.工廠BeanFactory,,如果使用BeanFactory來載入Spring配置檔案,那麼是在呼叫getBean時,框架呼叫物件的預設構造方法來建立物件。BeanFactory功能是對bean物件的生命週期進行管理的。(建立,初始化,銷燬)。2.ApplicationContext(推薦,也是框架預設的)物件來載入Spring配置檔案,會在載入時解析配置檔案,建立物件,而不是在getBean時建立。其實,ApplicationContext介面繼承了BeanFactory,所以具備BeanFactory所有功能,同時增加擴充套件的功能,例如載入資源配置檔案