Bean 的生命周期

109 阅读1分钟

Bean 的生命周期

bean 创建 ---> 初始化 ---> 销毁的过程

容器管理 bean 的生命周期 我们可以自定义初始化和销毁方法;容器在 bean 进行到当前生命周期的时候,来调用我们自定义的初始化和销毁方法

  • 构造(对象创建): 单实例:在容器 ==启动== 的时候创建对象 多实例:在 ==每次获取== 的时候创建对象

    BeanPostProcessor.postProcessBeforeInitialization
    
  • 初始化: 对象创建完成,并赋值好,调用初始化方法

    BeanPostProcessor.postProcessAfterInitialization
    
  • 销毁: 单实例:容器关闭的时候 多实例:容器不会管理这个 bean;容器不会调用销毁方法

    1. 指定初始化和销毁方法: 通过 @Bean 指定 init-methoddestory-method
    2. 通过让 Bean 实现 InitializingBean (实现初始化逻辑),DisposableBean(定义销毁逻辑)
    3. 可以使用 ==JSR250== 规范: @PostConstruct: 在 bean 创建完成并且属性赋值完成后,执行初始化方法 @PreDestory: 在容器销毁 bean 之前,通知我们进行清理工作
    4. BeanPostProcessor 「接口」: bean 的后置处理器,在 bean 初始化前后进行一些处理工作 postProcessBeforeInitialization: 在初始化之前工作 postProcessAfterInitialization: 在初始化之后工作

Mr.superbeyone