1、生命周期
(1)从对象创建到对象销毁的过程。
2、bean生命周期【在初始化前后调用后置处理器的方法】
1、解析xml文件或注解配置的类,生成BeanDefinition
2、根据BeanDefinition创建一个Bean实例
3、为bean进行属性填充
4、回调实现了Aware接口的方法,如BeanNameAware
5、调用BeanPostProcessor的初始化前方法(postProessBeforeinitalizatin)
6、调用bean的初始化的方法(需要进行配置初始化的方法),
7、调用BeanPostProcessor的初始化后方法(postProessAfterinitalizatin)
8、bean可以使用了(对象获取到了)
9、当容器关闭时候,调用bean的销毁的方法(需要进行配置销毁的方法)。
3、bean的作用域
一、scope属性值(主要singleton和prototype)
1、singleton ,默认值,表示单实例对象
2、prototype,表示多实例对象
3、request
4、session
二、singleton和prototype的区别
1、singleton是单实例,prototype是多实例。
2、当设置scope属性值为singleton的时候,加载spring配置文件时就会创建单实例对象
当设置scope属性值为prototype时,不是在加载spring配置文件是创建对象,而是在调用getBean方法是创建对象。