spring容器和上下文的理解


 spring容器和上下文的理解   

 spring框架現在使用的很多,這說明有其獨特之處----依賴注入,很簡單的四個字,在我們需要對象的時候,spring就可以給我們提供所需要的對象,對象的創建、銷毀、管理這些都不需要我們去考慮,只需要考慮的業務的實現就行---開發的時候挺省事,也提高了開發效率,所以才有這么多人在用它開發各種web程序。

   如果僅僅是簡單的用spring,俗稱拿來主義,倒也不用去了解spring的原理,如果你想知道spring的為什么在我們需要的時候給我們提供對象?對象是從哪里來的?它是怎么管理對象的?等這些的話,就需要花點時間去研究一下spring的源代碼了,順便可以學習下大神的代碼,這里先簡單的陳述下spring的主要思想,后續有時間分享下源代碼閱讀。

  spring的核心那就是容器,類似工廠的地方,應用程序中那么多對象的產生銷毀,肯定需要一個地方來專門處理--容器,有一個很大家很熟悉的容器,tomcat,它是servlet的web容器,容器負責了對象整個的生命周期--------創建、裝配、銷毀,有一個專業的術語來形容spring容器----IOC容器,IOC是指我們在開發的過程中不用管對象的創建這些,都交給容器去處理,等於說把控制權交給了容器(控制反轉),這里要說明一下,IOC不是spring專有的,還有很多通過IOC容器的框架。

 光有spring容器也沒什么用,容器說到底只是一個管理對象的空間,就像一個沒有圖紙的工廠,不知道怎么生產產品,這就涉及到了spring應用上下文,說的簡單點就是容器的對象,是對spring容器抽象的實現,我們常見的ApplicationContext本質上來說是一種維護Bean的定義和對象之間協作關系的高級接口,spring的核心是容器,有且不止一個容器:

    ① AnnotationConfigApplicationContext:從一個或多個基於java的配置類中加載上下文定義,適用於java注解的方式;

    ② ClassPathXmlApplicationContext:從類路徑下的一個或多個xml配置文件中加載上下文定義,適用於xml配置的方式;

    ③ FileSystemXmlApplicationContext:從文件系統下的一個或多個xml配置文件中加載上下文定義,也就是說系統盤符中加載xml配置文件;

    ④ AnnotationConfigWebApplicationContext:專門為web應用准備的,適用於注解方式;

    ⑤ XmlWebApplicationContext:從web應用下的一個或多個xml配置文件加載上下文定義,適用於xml配置方式。

有了以上理解,問題就很好辦了。你只要將你需要IOC容器替你管理的對象基於xml也罷,java注解也好,總之你要將需要管理的對象(Spring中我們都稱之問bean)、bean之間的協作關系配置好,然后利用應用上下文對象加載進我們的Spring容器,容器就能為你的程序提供你想要的對象管理服務了

參考:https://www.cnblogs.com/chenbenbuyi/p/8166304.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM