spring(一)spring的核心容器

spring的核心容器

  1. BeanFactory

简单来说,BeanFactory就是一个管理Bean的工厂,主要负责初始化各种Bean,并调用它们的生命周期方法.

创建BeanFactory实例时,需要提供Spring管理的详细配置信息,这些信息采用XML文件形式来管理,加载配置信息的语法如下:

BeanFactory beanFactory=new XmlBeanFactory(new fileSystemResource("F:/applicationContext.xml"))

   

2.ApplicationContext

ApplicationContext是BeanFactory的子接口,也被称为应用上下文,不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持

创建ApplicationContext接口实例,通常采用两种方法

  • 通过ClassPathXmlApplicationContext创建
ApplicationContext applicationContext=new ClassPathXmlApplicationContext(String configLocation);

configLocation参数用于指定Spring配置文件的名称和位置

  • 通过FileSystemXmlApplicationContext创建
ApplicationContext applicationContext=new FileSystemXmlApplicationContext(String configLocation);

与ClassPathXmlApplicationContext不同的是,在读取spring的配置文件时,FileSystemXmlApplicationContext不再从类路径中读取配置文件,而是通过参数指定配置文件的位置,例如F:/workspace/applicationContext.xml

web服务器实例化ApplicationContext容器时,通常会使用基于ContextLoaderListener实现的方式,此种方式只需要在web.xml中添加如下代码:



contextConfigLocation


classpath:spring/applicationContext.xml





org.springframework.web.context.ContextLoaderListener


两者区别如下:

相同点:都是通过xml配置文件加载Bean的

不同点:如果Bean的某一个属性没有注入,使用BeanFactory加载后,在第一次调用getBean()方法时会抛出异常,而ApplicationContext则在初始化时自检,这样有利于检查所依赖的属性是否注入.

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(spring)