您的位置:首页 > 编程语言 > Java开发

IoC容器概述

2016-11-21 20:45 127 查看

spring企业应用开发实战第三章 IoC容器概述

BeanFactory和ApplicationContext

Bean工厂是Spring框架最核心的接口,它提供了高级IoC的配置机制。BeanFactory使管理不同类型的java对象成为可能,应用上下文建立在BeanFactory基础之上,提供了更多面向应用的功能,它提供了国际化支持和框架时间体系,更易于创建实际应用。我们一般称BeanFactory为IoC容器,而称ApplicationContext为应用上下文。

ApplicationContext的主要实现类是ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,前者默认从类路径加载配置文件,后者默认从文件系统装载配置文件。

ApplicationContext的初始化和BeanFactory有一个重大的区别:BeanFactory在初始化容器时,并未实例化Bean,直到第一次访问某个Bean时才实例目标Bean;而ApplicationContext则在初始化应用上下文时就实例化所有但实例的Bean。

ApplicationContext和BeanFactory另一个重大的区别:前者会利用java反射机制自动识别出配置文件中定义的BeanPostProcessor、InstantiationAwareBeanPostProcessor和BeanFactoryPostProcessor,并自动将它们注册到应用上下文中;而后者需要在代码中通过手工调用addBeanPostProcessor()方法进行注册。

WebApplicationContext初始化

因为WebApplicationContext需要ServletContext实例,也就是说它必须在拥有Web容器的前提下才能完成启动的工作。有过Web开发经验的读者都知道可以在web.xml中配置自启动的Servlet或定义Web容器监听器(ServletContextListener),借助这两者中的任何一个,我们就可以完成启动Spring Web应用上下文的工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring ioc