spring-001-Ioc 顶层容器

一、顶层容器

1、org.springframework.beans.factory.BeanFactory
接口提供了IoC容器最基本功能
 
主要的实现类:org.springframework.beans.factory.xml.XmlBeanFactory,4.2.5版本已经注释为过时,不要再使用了。
 
BeanFactory实现,提供基本的IoC容器功能,可以从classpath或文件系统等获取资源;
1.1、从文件系统中初始化beanFactory
File file = new File("fileSystemConfig.xml");
Resource resource = new FileSystemResource(file);
BeanFactory beanFactory = new XmlBeanFactory(resource);

1.2、从classpath中初始化beanFactory

Resource resource = new ClassPathResource("classpath.xml");                 

BeanFactory beanFactory = new XmlBeanFactory(resource);
 
 
2、org.springframework.context.ApplicationContext
扩展了BeanFactory,还提供了与Spring AOP集成、国际化处理、事件传播及提供不同层次的context实现 (如针对web应用的WebApplicationContext)
 
主要的实现类:
 
类名
启动方式
从WEB启动
org.springframework.context.support.ClassPathXmlApplicationContext
xml配置方式启动
NO
org.springframework.context.support.AnnotationConfigApplicationContext
注解方式启动
NO
org.springframework.web.context.support.XmlWebApplicationContext 
xml配置方式启动
YES
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
注解方式启动
YES
 
 

简单说, BeanFactory提供了IoC容器最基本功能,而 ApplicationContext 则增加了更多支持企业级功能支持。ApplicationContext完全继承BeanFactory,因而BeanFactory所具有的语义也适用于ApplicationContext。

原文地址:https://www.cnblogs.com/conge/p/5382720.html