閱讀930 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Spring 分析摘錄

1、spring的三個主要的部分,beans、context、core:
在這三個主要部分中的核心是什麼呢?那就非beans莫屬了。spring的核心就是把我們平時使用的對象配置文件化,而配置文件中的對象就是被解析為beans來供開發人員來使用的。要說一個spring是一個舞台劇,那麼beans就是一個個演員,沒有演員怎麼來的舞台劇?bean在spring中的重要性可想而知。而context的作用就是封裝一下beans。如果沒有context的話,我們每次使用spring的編程模式就一定要使用編程式使用spring的ioc容器了,而有了context隻有,使用spring的ioc容器變得簡單了許多,可以使用聲明式的方式了。那麼core的作用是什麼呢?其實core就是一個工具類,如果我們想要將其改名為utils其實都是可以的。

2、beans:·

BeanFactory是所有的bean工廠的父接口,bean工廠的繼承實現關係很是錯綜複雜,其中的一條主線繼承關係就如下圖所示。BeanFactory中定義getBean()等基本方法。而HierachicalBeanFactrory主要是說明Bean工廠是可以繼承實現的,所以其中定義了getParentBeanFactory()這個接口。而ConfigurableBeanFactory這個類就是我們常用的bean工廠了。
image

3、context:
ApplicationContext 是 Context 的頂級父類。如下圖:
image

可以看到Application其實是繼承自BeanFactory的。其就是對於BeanFactory環境的一個更好的整合。有了BeanFactory我們可以進行編程式Ioc,那麼有了ApplicationContext之後我們就可以使用聲明式Ioc了,Context對於各種類型的配置文件的兼容整合大大提升了使用者的使用效率。
Context 作為 Spring 的 Ioc 容器,基本上整合了 Spring 的大部分功能,或者說是大部分功能的基礎。

4.實際web項目應用 web.xml之中的配置
image
web容器初始化的時候會加載ContextLoaderListener監聽器
image
ContextLoaderListener會創建WebApplicationContext
image
WebApplicationContext是ApplicationContext的一個子類,表明WebApplicationContext也可以使用聲明式Ioc

最後更新:2017-08-15 18:02:44

  上一篇:go  誰說90後不靠譜?95後都做CEO了
  下一篇:go  阿裏雲移動測試平台MQC移動測試沙龍