• 【spring】spring bean对象生命周期,spring容器如何管理bean,spring容器的名称是叫什么


    spring】spring bean对象生命周期,spring容器如何管理bean,spring容器的名称是叫什么

    DefaultListableBeanFactory开始

    spring 容器 DefaultListableBeanFactory

    DefaultListableBeanFactory是Spring的核心BeanFactory实现,它负责Bean的创建和管理。在这个类中,Bean实例化的过程主要通过getBean方法来触发。

    一、Spring Bean的后置处理器

    Spring Bean的后置处理器是什么?在项目中如何使用它?
    Spring Bean 的后置处理器(BeanPostProcessor)是 Spring 框架中的一种机制,用于在 Bean 实例化和初始化的过程中插入自定义逻辑。它允许开发者在 Bean 实例化后、初始化前,和初始化后,执行额外的处理。

    使用 BeanPostProcessor
    要使用 BeanPostProcessor,需要实现 org.springframework.beans.BeanPostProcessor 接口,并重写 postProcessBeforeInitialization 和 postProcessAfterInitialization 方法。以下是如何在项目中使用它的步骤:

    1. 创建自定义的 BeanPostProcessor 实现: 

    1. import org.springframework.beans.BeansException;
    2. import org.springframework.beans.factory.config.BeanPostProcessor;
    3. public class CustomBeanPostProcessor implements BeanPostProcessor {
    4. @Override
    5. public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
    6. // 在 Bean 初始化之前进行处理
    7. System.out.println("Before Initialization: " + beanName);
    8. return bean; // 返回处理后的 Bean
    9. }
    10. @Override
    11. public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
    12. // 在 Bean 初始化之后进行处理
    13. System.out.println("After Initialization: " + beanName);
    14. return bean; // 返回处理后的 Bean
    15. }

    2. 将自定义 BeanPostProcessor 注册到 Spring 容器中:

    1. import org.springframework.context.annotation.Bean;
    2. import org.springframework.context.annotation.Configuration;
    3. @Configuration
    4. public class AppConfig {
    5. @Bean
    6. public CustomBeanPostProcessor customBeanPostProcessor() {
    7. return new CustomBeanPostProcessor();
    8. }
    9. }

    二、Spring Bean的后置处理器

    Spring Bean的生命周期中,哪些阶段可以介入自定义操作
    1. 初始化前
    方法:

    postProcessBeforeInitialization(由 BeanPostProcessor 提供)
    应用: 在Bean初始化之前执行额外的处理,例如修改Bean的状态或属性,进行预处理操作。

    2. 初始化时
    方法:

    2.1 afterPropertiesSet(由 InitializingBean 接口提供)
    2.2 @PostConstruct 注解方法
    2.3 XML 配置中的 init-method 方法

    应用: 在Bean的属性设置完成后,执行初始化逻辑,如设置默认值、进行资源准备或配置。

    3. 初始化后
    方法:

    postProcessAfterInitialization(由 BeanPostProcessor 提供)
    应用: 在Bean初始化之后执行附加处理,例如创建代理对象、添加功能、日志记录等。

    4. 销毁前
    方法:

    destroy(由 DisposableBean 接口提供)
    @PreDestroy 注解方法
    XML 配置中的 destroy-method 方法
    应用: 在Bean销毁之前进行清理操作,例如释放资源、保存状态或关闭连接等。 

  • 相关阅读:
    HTML期末作业,基于html实现中国脸谱传统文化网站设计(5个页面)
    【红帽】跟着学习如何使用桌面访问命令行
    【网络通信三】研华网关Modbus服务设置
    林业草原防火智能可视化平台
    1.Netty概述
    Vue绑定样式,条件渲染,列表渲染
    【leetcode】寻找重复数
    芯启源加入龙蜥社区,推动集成电路和DPU芯片创新落地
    Flink之Catalog
    【Redis】简单动态字符串SDS
  • 原文地址:https://blog.csdn.net/xzb5566/article/details/142268961