Spring Bean 的生命周期管理是 Spring 框架的核心功能之一。
一:Spring bean的生命周期包括四大阶段:
1.实例化
Spring 容器根据配置(XML、注解或Java配置)创建 Bean 的实例,通常通过构造函数或工厂方法完成。
spring被加载,会将xml配置文件中的每一个bean标签转换成对应的beanDedinition信息对象并存储到beanDedinitionMap集合中,spring框架对Map集合进行遍历取出的时候,执行工厂后处理器(BeanFactoryPostProcessor)。并按照bean的信息对象创建出半成品的java bean实例。
A.工厂后处理器
工厂后处理器是Spring提供的一个强大扩展点,允许开发者在 Bean 实例化之前修改或注册 Bean 定义。回调该接口的方法,用于对BeanDefinition注册和修改的功能。
public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
System.out.println("MyBeanFactoryPostProcessor的postProcessBeanFactory");
// 修改演示
// BeanDefinition beanDefinition = beanFactory.getBeanDefinition("user");
// beanDefinition.setBeanClassName("com.apesource.pojo.Student");
//注册演示
BeanDefinition beanDefinitio