Spring(七)——Bean的生命周期和后置处理器

本文介绍了Spring中Bean的生命周期,包括构造器或工厂方法创建实例、属性设置、初始化和销毁方法的调用。此外,详细阐述了Bean后置处理器的作用,它允许在初始化方法前后对Bean进行额外处理,实现方式是实现特定接口并覆盖两个方法,这两个方法会在Bean实例创建过程中的特定时刻被调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Bean的生命周期

  • Spring IOC 容器可以管理 Bean 的生命周期, Spring 允许在 Bean 生命周期的特定点执行定制的任务.

  • Spring IOC 容器对 Bean 的生命周期进行管理的过程:

    • 通过构造器或工厂方法创建 Bean 实例

    • 为 Bean 的属性设置值和对其他 Bean 的引用

    • 调用 Bean 的初始化方法(自动)

    • Bean 可以使用了

    • 当容器关闭时, 调用 Bean 的销毁方法(程序结束就关闭,也可以自己关闭)

  • 在 Bean 的声明里设置 init-method 和 destroy-method 属性, 为 Bean 指定初始化和销毁方法.

  • 自己在实体类提供的两个方法:

2.创建 Bean 后置处理器

  • Bean 后置处理器允许在调用初始化方法前后对 Bean 进行额外的处理.

  • Bean 后置处理器对 IOC 容器里的所有 Bean 实例逐一处理, 而非单一实例. 其典型应用是: 检查 Bean 属性的正确性或根据特定的标准更改 Bean 的属性.

  • 对Bean 后置处理器而言, 需要实现接口. 在初始化方法被调用前后, Spring 将把每个 Bean 实例分别传递给上述接口的以下两个方法:

  • 添加 Bean 后置处理器后 Bean 的生命周期:

    • 通过构造器或工厂方法创建 Bean 实例
    • 为 Bean 的属性设置值和对其他 Bean 的引用
    • 将 Bean 实例传递给 Bean 后置处理器的 postProcessBeforeInitialization 方法
    • 调用 Bean 的初始化方法
    • 将 Bean 实例传递给 Bean 后置处理器的 postProcessAfterInitialization方法
    • Bean 可以使用了
    • 当容器关闭时, 调用 Bean 的销毁方法
  • 使用:实现接口会覆写两个方法,一个会在init-method之前被调用,一个会在init-method之后被调用

    • 方法参数:bean:实例本身;baenName:IOC容器配置的bean名字--id

    • 返回值:是实际上返回给用户的那个bean,注意:可以在两个方法中修改返回的bean,甚至返回一个新的bean

    • 在配置文件中,不需要指定id,会自动识别

    • 在启动类不需要做任何操作就会自动执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值