Spring的Bean容器都有哪些

最近正在重读《Spring In Action》一书,把里面的知识点再回顾一遍。

BeanFactory是一个顶层接口,是最基本的Bean容器。Spring使用BeanFactory来生成,配置和管理Bean。

Spring的Bean容器都有哪些_第1张图片

ApplicationContext是BeanFactory的子类,它比BeanFactory提供了更加丰富的功能。

平时常用的Bean容器还有3个,它们都是ApplicationContext的子类,如图所示。ClassPathXmlApplicationContext主要用在在类路径加载xml文件的场景,FileSystemXmlApplicationContext主要用在在文件系统加载xml文件的场景,XMLWebApplicationContext主要用在在Web中加载xml文件的场景。

BeanFactory和ApplicationContext在Bean加载方面有什么不同呢?

BeanFactory是延迟加载。BeanFactory初始化完成后,并不加载任何Bean,只有在第一次获取Bean时,BeanFactory才会加载该Bean。而ApplicationContext会在启动后主动加载好单例Bean,这样,从ApplicationContext中获取Bean时效率更高。

你可能感兴趣的:(Spring)