日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

004 IOC---IOC容器

發布時間:2024/9/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 004 IOC---IOC容器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.概述

  在上一節之中,我們說到了IOC容器,并且說到了BeanFactory.

  現在我們來看一下BeanFactory的定義.

我們可以看到BeanFactory定義的方法,核心的方法就是getBean()方法.

也就是說,spring封裝了創建Bean的全部過程,用戶只需要getBean()就可以了.

那么,之前我們也說到了spring通過配置信息知道用戶需要創建什么樣的Bean,那么我們后面的一個核心就是學會配置.


?

二 .ApplicationContext

  Beanfactory實際上定義了IOC容器的基本形式,對于程序員來說,一般情況下是不會使用BeanFactory這樣底層的容器的.

  spring為我們提供了ApplicationContext,含義是應用上下文.

    上下文在編程中一般的含義就是包含當前運行信息的環境.因此,我們一般也將ApplicaitonContext視為IOC容器.

public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory,MessageSource, ApplicationEventPublisher, ResourcePatternResolver {

上面是ApplicationContext的定義,我們看到其實際上繼承了BeanFactory,同時還繼承了其它的接口.

  如 MessageSource,ApplicationEventPublisher等接口,也就是說ApplicaitonContext具有了國際化和事件的能力,這些都是后面我們需要說的.

做為程序員,我們經常使用的都是該接口的子類:

如:

ClassPathXmlApplicationContext //從類路徑下加載配置信息
FileSystemXmlApplicationContext //從文件系統加載配置信息
AnnotationConfigApplicationContext // 注解式環境

我們看到,子類只是獲取配置信息的方式不同,同時還提供了環境下一些特殊行為.


?

三 .BeanFactory和ApplicaitonContext

  這是一個老生常談的問題,首先

  [1]BeanFacoty是IOC的頂層接口,定義了IOC容器的一般行為.

  [2]ApplicationContext繼承了BeanFactory,同時繼承了其它的接口,如時間,國際化等接口,也就是說擁有的能力比BeanFactory更強.

  [3]BeanFactory是spring底層使用的,ApplicaitonContext才是程序員應該使用的接口.

  [4]加載時機的問題,ApplicaitonContext會初始化所有的單例Bean,這個問題我們后面會重點說明.

轉載于:https://www.cnblogs.com/trekxu/p/9090674.html

總結

以上是生活随笔為你收集整理的004 IOC---IOC容器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。