(笔记)Spring实战_Spring之旅(2)_容纳你的Bean

在基于Spring的应用中,应用对象生存于Spring容器中。Spring容器创建对象,装配它们,配置它们,管理它们的整个生命周期,从生存到死亡(或者从创建到销毁)。
Spring容器使用依赖注入管理构成应用的组件,它会创建相互协作的组件之间的关联。
Spring自带几种容器实现,可以归为两种不同的类型。Bean工厂(由org.springframework.beans.factory.BeanFactory接口定义)和应用上下文(由org.springframework.context.ApplicationContext接口定义)。
1.与应用上下文共事
Spring自带了几种类型的应用上下文:
(1)ClassPathXmlApplicationContext:从类路径下的XML配置文件中加载上下文定义。
(2)FileSystemXmlApplicationContext:读取文件系统下的XML配置文件并加载上下文定义。
(3)XmlWebApplicationContext:读取Web应用下的XML配置文件并装载上下文定义。
2.Bean的生命周期
(1)实例化:Spring对Bean进行实例化。
(2)填充属性:Spring将值和Bean的引用注入进Bean对应的属性中。
(3)调用BeanNameAware的setBeanName()方法:如果Bean实现了BeanNameAware接口,Spring将Bean的ID传递给setBeanName()接口方法。
(4)调用BeanFactoryAware的setBeanFactory()方法:如果Bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()接口方法,将BeanFactory容器实例传入。
(5)调用ApplicationContextAware的setApplicationContext()方法:如果Bean实现了ApplicationContextAware接口,Spring将调用setApplicationContext()接口方法,将应用上下文的引用传入。
(6)调用BeanPostProcessor的预初始化方法:如果Bean实现了BeanPostProcessor接口,Spring将调用它们的postProcessBeforeInitialization()接口方法。
(7)调用InitializingBean的afterPropertiesSet()方法:如果Bean实现了InitializingBean接口,Spring将调用它们的afterPropertiesSet()接口方法。
(8)调用定制的初始化方法:如果Bean使用init-method声明了初始化方法,该方法也会被调用。
(9)调用BeanPostProcessor的后初始化方法:如果Bean实现了BeanPostProcessor接口,Spring将调用它们的postProcessAfterInitialization()方法。
(10)此时此刻,Bean已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中,直到该应用上下文被销毁。
(11)调用DisposableBean的destroy方法:如果Bean实现了DisposableBean接口,Spring将调用它的destroy()接口方法。
(12)调用定制的销毁方法:如果Bean使用了destroy-method声明了销毁方法,该方法也会被调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值