spring7步生命周期

Bean生命周期可以粗略的划分为五大步:

  • 第一步:实例化Bean
  • 第二步:Bean属性赋值
  • 第三步:初始化Bean
  • 第四步:使用Bean
  • 第五步:销毁Bean

在以上的5步中,第3步是初始化Bean,如果你还想在初始化前和初始化后添加代码,可以加入“Bean后处理器”。

编写一个类实现BeanPostProcessor类,并且重写before和after方法:

package com.spring6.bean;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;


public class LogBeanPostProcessor implements BeanPostProcessor {
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("Bean后处理器的before方法执行,即将开始初始化");
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("Bean后处理器的after方法执行,已完成初始化");
        return bean;
    }
}

BeanPostProcessor 是 Spring 框架中的一个接口,用于在容器实例化 Bean 之后,初始化 Bean 之前,对 Bean 进行一些自定义的处理操作。通过实现 BeanPostProcessor 接口,您可以在 Bean 的初始化前后插入自定义逻辑,例如对 Bean 进行一些额外的初始化、清理、或者修改。

BeanPostProcessor 接口定义了两个方法:

  1. postProcessBeforeInitialization:在 Bean 的初始化方法调用之前,对 Bean 进行一些处理。
  2. postProcessAfterInitialization:在 Bean 的初始化方法调用之后,对 Bean 进行一些处理。

在这个示例中,CustomBeanPostProcessor 类实现了 BeanPostProcessor 接口,并重写了 postProcessBeforeInitializationpostProcessAfterInitialization 方法。在这两个方法中,您可以编写自定义的逻辑来处理 Bean。然后,您可以将这个 CustomBeanPostProcessor 注入到 Spring 容器中,以便它可以对所有的 Bean 进行处理。

在spring.xml文件中配置“Bean后处理器”:

<!--配置Bean后处理器。这个后处理器将作用于当前配置文件中所有的bean。-->

<bean class="com.spring6.bean.LogBeanPostProcessor"/>

注意:在spring.xml文件中配置的Bean后处理器将作用于当前配置文件中所有的Bean。

参考:动力节点

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tin9898

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值