ApplicationContext: 单例对象适用 开发中多采用此接口
它在构建核心容器时,创建对象采取的策略是采用立 即加载的方式。也就是说,只要一读取完配 置文 件马上就创建配置文件中配置的对象。
*
BeanFactory: Spring容器的核心接口,负责:实例化、定位、配置应用程序中的对象及建立这些 对象间的依赖。多例对象适用 BeanFactory作为核心接口,功能不是很完善。
* 它在构建核心容器时,创建对象采取的策略是采用延迟加载的方式。也就是说,什么时候根据id获取对象了,什么时候才真正的创建对象。
* ApplicationContext的三个常用实现类:
* ClassPathXmlApplication 通过类路径加载配置文件
* FileSystemApplicationContext 通过绝对路径加载配置文件
* AnnotationConfigApplicationContext
BeanFactory接口是Spring的核心接口。功能非常复杂,这个时候如果我们想要编写一些比较复杂点儿的逻辑就会触及到其他一些不必要的接口,不好实现。
这时候使用FactoryBean就比较方便了。FactoryBean以Bean结尾是个Bean对象,不是工厂。