spring Bean的作用域、生命周期和后处理器

1. Bean的几种作用域

       singleton 单例, 在整个spring IoC 容器只存在唯一对象

       prototype 多例, 每次进行getBean 创建新的对象

       request ,创建Bean, 放入request范围 request.setAttribute

       session ,创建Bean ,放入session范围 session.setAttribute

       globalSession 全局会话, 分布式多个系统, 共享同一个会话

单例Bean,在ApplicationContext对象 (容器对象) 初始化时进行创建

多例Bean,在getBean时创建返回

代码:

XML配置:

测试代码

2. Bean的生命周期

Bean的初始化和销毁

在<bean> 可以配置两个属性:

       init-method 指定初始化的方法、 destroy-method 指定销毁方法

xml配置

问题: 默认代码不会执行销毁的

       因为程序不知道销毁的时机 , 销毁必须收到调用容器的close,我们一般使用容器对象(ClassPathXmlApplicationContext)进行销毁

3. spring后处理器

BeanPostProcessor 接口

spring后处理器可以对Bean对象进行增强!

posted @ 2015-11-01 16:29  自相矛盾  阅读(258)  评论(0编辑  收藏  举报