• 【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销毁之前进行清理操作,例如释放资源、保存状态或关闭连接等。 

  • 相关阅读:
    Mac下安装Hadoop
    Android NDK初识
    二维码智慧门牌管理系统升级解决方案:门牌聚合,让管理更便捷!
    ARM 汇编指令集——汇编中三种符号(汇编指令、伪指令、伪操作)、汇编基本格式、数据操作指令、跳转指令、特殊功能寄存器操作指令、内存操作指令、混合编程
    twitter推文案例
    【Redis】高效保障MySQL和Redis的数据一致性?
    好奇喵 | Rust编程语言的简单了解~
    ios下input不能输入,没有光标的原因及解决办法
    JVMの内存泄漏&内存溢出案例分析
    LeetCode 1235. 规划兼职工作
  • 原文地址:https://blog.csdn.net/xzb5566/article/details/142268961