SpringBean生命周期详情

2023-12-08 23:48

本文主要是介绍SpringBean生命周期详情,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

啥也不说先来一波流程图
在这里插入图片描述
下面咱们详细说下每个步骤

  • 1、根据配置调用Bean的构造方法或者工厂方法实例化Bean
  • 2、根据完成Bean对属性的依赖注入
  • 3、如果Bean实现了BeanNameAware接口, Spring调用setBeanName方法传入beanId
  • 4、如果Bean实现了BeanFactoryAware接口, Spring调用setBeanFactory方法传入当前工厂实例的引用
  • 5、如果Bean实现了ApplicationContextAware接口,spring调用setApplicationContext方法传参是当前ApplicationContext实例的引用
  • 6、如果有BeanPostProcessor与Bean关联,spring调用该接口的预初始化方法
  • 7、如果Bean实现了InitializingBean接口,spring将调用afterPropertiesSet方法
  • 8、如果在配置文件中通过init-method自定了初始化方法,则调用改方法
  • 9、如果有BeanPostProcessor与Bean有关联,spring调用该接口的postProcessAfterInitialization方法, 此时Bean已经可以被应用系统使用
  • 10、如果指定的Bean的作用范围是singleton, 则将改Bean放入IOC的缓存池中,将触发spring对该Bean的生命周期的管理;
    如果Bean的指定范围是prototype则将Bean交于调用者管理
  • 11、如果Bean实现类DisposableBean接口,spring会调用destory方法将Bean销毁.
    如果在配置文件中通过destory-method属性指定Bean的销毁方法,spring将调用该方法对Bean进行销毁.

这篇关于SpringBean生命周期详情的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/471728

相关文章

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

【Vue】关于Vue3的生命周期

目录 Vue3中新增了一个setup生命周期函数:(1) setup执行的时机是在beforeCreate生命周期函数之前执行,在setup函数中是不能通过this来获取实例的;(2) 为了命名的统一性,将beforeDestroy 改名为 beforeUnmount,destroyed 改名为 unmounted 生命周期函数: setup —— 不能通过this来获

09 生命周期

生命周期 beforeCreatecreatedbeforeMountmountedbeforeUpdateupdatedbeforeDestorydestoryed 辣子鸡:香辣入口,犹如吃了炫迈一样 - - - 根本停不下来 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport"

Maven生命周期:深入理解构建过程

目录 1. Maven生命周期简介 2. 默认生命周期的阶段 3. 清理生命周期 4. 站点生命周期 5. Maven生命周期的灵活性 6. 结论         在Java开发中,Maven是一个不可或缺的工具,它通过自动化项目的构建、依赖管理和文档生成等任务,极大地提高了开发效率。Maven的核心之一是其构建生命周期,它定义了项目构建过程中的一系列阶段。在这篇文章中,我们将深

【前端】animation动画以及利用vue制作简单的透明度改变动画,包含vue生命周期实现

一. 问题描述 想做一个文字透明度从1到0然后再从0到1的css动画。 二. 代码写法 2.1 animation写法 2.1.1 animation属性key 2.1.2 代码展示 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=de

【C++多线程编程】 线程安全与对象生命周期管理

目录 类的线程安全 实现线程安全  构造函数在多线程中的安全性 析构函数多线程环境的安全 智能指针实现多线程安全  shared_ptr 非完全线程安全 shared_ptr可能导致对象生命周期延长 const引用可以减少传递shared_ptr开销 shared_ptr 智能指针块模块的优点  析构所在线程问题分析  RAII的使用 enable_shared_from_

监听器(Listener)使用详情

https://www.cnblogs.com/xdp-gacl/p/3969249.html 孤傲苍狼 只为成功找方法,不为失败找借口! javaweb学习总结(四十五)——监听器(Listener)学习二 一、监听域对象中属性的变更的监听器   域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest

【ReactJS】通过一个例子学习React组件的生命周期

源代码 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Reac

C语言之预处理详情

目录 前言1.预定义符号2.#define定义常量3.#define定义宏4.带有副作用的宏参数5.宏替换的规则6.宏和函数的对比7.#和##运算符7.1 #运算符7.2 ##运算符 8.命名约定9.undef10.命令行指令11.条件编译12.头文件的包含12.1 头文件包含方式12.1.1 本地头文件包含12.1.2 库文件包含 12.2 嵌套文件包含 13.其他预处理指令总结

1.1 Avtivity的生命周期全面分析

本文将Activity的生命周期分为两部分内容,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。所谓典型情况下的生命周期,是指在有用户参与的情况下,Activity所经过的生命周期的改变;而异常情况下的生命周期是指在Activity被系统回收或者由于当前设备的Configuration发生改变从而导致Activity被销毁重建,异常情况下的生命周期的关注点和典型情况下略有不同。 1