Spring Bean初始化流程

server/2024/11/29 14:54:46/

首先:

  1. 加载Bean定义(@Configuration)

然后对于每个Bean:

1、实例化Bean(应该是从@Bean方法中获取,@Bean方法里面包含new这个类型的代码)
2、依赖注入(所依赖的Bean要经历相同的流程)、调用Setter
3、初始化Bean:
      3.1、执行感应接口xxxAware:如果实现了接口则执行回调: BeanNameAware 和 BeanFactoryAware)
      3.2、执行所有BeanPostProcessor 的 Before Initializing 逻辑
               3.2.1、Spring自带的默认postProcessor,比如:CommonAnnotationBeanPostProcessor 实现了Java原生注解的处理逻辑如 @PostConstruct
               3.2.2、用户自定义的(实现BeanPostProcessor接口的类)
               3.2.3、Spring默认指定了PostProcessor之间的顺序
     3.3、Bean初始化(init-method)
               3.3.1、BeanInitializing 接口的 afterPropertiesSet 方法
               3.3.2、init-method
     3.4、执行所有BeanPostProcessor 的 After Initializing 逻辑,与Before Initializing类似
4、ready


http://www.ppmy.cn/server/145932.html

相关文章

Docker化部署Flask:轻量级Web应用的快速部署方案

Flask是一个用Python编写的轻量级Web应用框架,以其简洁性和灵活性而受到开发者的喜爱。Docker作为一种流行的容器化技术,为应用的部署和管理提供了极大的便利。本文将探讨Flask的优点、Docker部署的好处,并详细介绍如何将Flask应用Docker化部…

嵌入式开发之IO多路复用(一)

目录 1、IO模型和多路复用模型 1.1、阻塞I/O模式 1.1.1、读阻塞 1.1.2、写阻塞 1.2、非阻塞模式I/O 1.3、信号驱动I/O 1.4、多路复用I/O 1.4.1、IO多路复用步骤: 1.4.2、伪代码示例讲解 1、IO模型和多路复用模型 在UNIX、Linux下主要有4种I/O模型: 阻塞I/O: 最常用…

HBase运维需要掌握的技能(1)

作为 HBase 运维人员,我们需要掌握一定的 HBase 和 Hadoop 生态系统相关的知识,特别是与系统安装、配置、性能调优、故障排除等相关的技能。以下是 HBase 运维人员需要掌握的核心知识点: HBase 是一个分布式的、面向列的 NoSQL 数据库&#…

新用户引导库-driverjs

一个比好用的新用户引导的库 driverjs 在做这个功能时,首先要确定目标是什么样子的, 如果只是随意点击下一步下一步,那我感觉可能用图片轮播图的方式会快一点,更容易解决且方便,想要什么步骤 只需要更改图片就好&…

同时在github和gitee配置密钥

同时在github和gitee配置密钥 1. 生成不同的 SSH 密钥 为每个平台生成单独的 SSH 密钥。 # 为 GitHub 生成密钥(默认文件路径为 ~/.ssh/github_id_rsa) ssh-keygen -t rsa -b 4096 -C "your_github_emailexample.com" -f ~/.ssh/github_id_…

HarmonyOS开发:DevEco Studio的Beta3(5.0.5.200)新增和增强特性

新增特性 DevEco Studio支持开发API 13工程。DevEco Profiler Frame模板新增Lost Frames和Hitch Time泳道,用于识别和优化卡顿和丢帧现象。具体请参考Frame分析。hvigor-config.json5中properties下新增ohos.arkCompile.noEmitJs字段,用于指定ArkTS编译…

论文阅读 - Causality Inspired Representation Learning for Domain Generalization

目录 摘要 1. Introduction 2. Related Work 3. Method 3.1. DG from the Causal View 3.2.因果关系启发的表示学习 3.2.2 Causal Factorization Module 3.2.3 Adversarial Mask Module 4. Experiment 4.1. Datasets 4.2. Implementation Details 4.3. Experimenta…

unity 绿幕抠图

1.硬件:Insta360 Link 2C摄像机 2.引用shader Shader "Demo/ChromaKey" { Properties { _MainTex("Texture", 2D) "white" {} _KeyColor("KeyColor", Color) (0,1,0,0) _TintColor(&q…