当前位置: 首页 > news >正文

Spring中的 InitializingBean、BeanPostProcessor、@PostConstruct 等初始化动作的执行时机分析

初始化Bean的时序图如下:

 

 

小结说明:

1、相同点:InitializingBean 的(afterPropertiesSet方法)、BeanPostProcessor、@PostConstruct 都是在bean的属性注入完毕之后才执行,都可以用来进行bean的初始化动作

2、初始化执行顺序优先级由高到低:BeanPostProcessor的预初始化方法 > @PostConstruct方法 > InitializingBean 的(afterPropertiesSet方法) > BeanPostProcessor的后初始化方法

3、@PostConstruct 是通过 BeanPostProcessor 的预初始化方法执行的,略早于通过实现 InitializingBean 接口的方法 afterPropertiesSet()

使用注意:
如果要在当前类初始化的时候执行某段代码,且只执行一次,那么实现initializingBean接口。如果要在所有类实例化之后执行某段代码,则实现 BeanPostProcessor 接口重写后初始化方法

http://www.lryc.cn/news/479864.html

相关文章:

  • 如何利用指纹浏览器爬虫绕过Cloudflare的防护?
  • idea 基础简单应用(java)
  • windows环境下vscode下载安装
  • Obsidian之与Typora图片格式相互兼容
  • 美半导体巨头正切断中国供应链,给自己“挖坑”?
  • RHCE---搭建lnmp云存储
  • 一些 uniapp相关bug
  • 操作系统-4.2文件系统的层次结构虚拟文件系统
  • 【深度学习】DreamClear:提升图片分辨率的模型
  • 操作系统进程互斥的四种软件实现和三种硬件实现
  • C++虚继承演示
  • React Native的生命周期
  • linux系统中涉及到用户管理的命令知识
  • LeetCode 0685.冗余连接 II:并查集(和I有何不同分析)——详细题解(附图)
  • Dubbo负载均衡
  • PymuPDF4llm提取pdf文件文字、表格与图片
  • 20241108通过iperf3确认中科创达的高通CM6125的WIFI的网速【失败】
  • Stored procedures in PostgreSQL
  • 第10章 多表查询
  • 【基于LSM的ELF文件安全模块设计】参考
  • 全卷积和全连接
  • Unity图形学之Shader结构
  • 离散时间信号的产生
  • 物联优化汽车齿轮锻造
  • CocosCreator 构建透明背景应用(最新版!!!)
  • 使用CentOS宝塔面板docker搭建EasyTier内网穿透服务
  • HTMLCSS: 实现可爱的冰墩墩
  • 天地图入门|标注|移动飞行|缩放,商用地图替换
  • Flutter PC端UI组件库
  • NVR小程序接入平台/设备EasyNVR多品牌NVR管理工具/设备汇聚公共资源场景方案全析