Application Context 是 BeanFactory 的子接口, ApplicationContext容器会在容器初始化时,会将其中的所有对象一次性装配好,以后用这些对象时只需要在内存中直接调用即可,优点是执行率高,缺点就是占用内存。
BeanFactory 容器采用延时加载,在调用容器中的对象(getBean())才会装配该对象,虽然节省了资源占用但效率上大大降低。
ApplicationContext: 单例对象适用 ,采用此接口
它在构建核心容器时,创建对象采取的策略是采用立即加载的方式。也就是说,只要一读取完配置文件马上就创建配置文件中配置的对象。
BeanFactory: 多例对象使用
它在构建核心容器时,创建对象采取的策略是采用延迟加载的方式。也就是说,什么时候根据id获取对象了,什么时候才真正的创建对象。