- Spring 容器:包含两种类型,一种为Bean工厂类型,由org.springframework.beans.fatory.BeanFactory接口定义,是最简单的容器,提供基本的DI支持。一种为应用上下文类型,由org.springframework.context.ApplicationContext接口定义,基于BeanFactory之上构建,并提供面向应用的服务。一般采用应用上下文类型。应用上下文最常用的三种类型,ClassPathXmlApplicationContext,从类路径下的XML配置文件加载上下文定义,把应用上下文定义文件当做类资源。FileSystemXmlApplicationContext,读取文件系统下的XML配置文件并加载定义上下文定义。XmlWebApplicationContext,读取Web应用下的XML配置文件并装载上下文定义。
- Bean的生命周期:1)Spring对Bean进行实例化。 2)Spring将值和Bean的引用注入Bean对应的属性中。3)如果Bean实现了BeanNameAware接口,Spring将Bean的ID传递给setBeanName()接口方法。4)如果Bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()接口方法,将BeanFactory容器实例传入。5)如果Bean实现了BeanPostProcessor接口,Spring将调用他们的postProcessBeforeInitialization()接口方法。7)如果Bean实现了InitializingBean接口,Spring将调用他们的afterPropertiesSet()接口方法,如果Bean使用init-method声明了初始化方法,该方法也会被调用。8)如果Bean实现了BeanPostProcessor接口,Spring将调用它们的postProcessAfterInitialization()方法。9)Bean已经准备就绪,可以被其它程序使用,它们将一直驻留在应用上下文,直到该应用上下文被销毁。10)如果Bean实现了DisposableBean接口,Spring将调用它的destory()接口方法,如果使用了destory-method声明了销毁方法,该方法也会被调用。
Spring 核心解析
最新推荐文章于 2022-05-09 09:26:32 发布