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

Bean的生命周期 - spring


前言

本篇介绍了Bean的生命周期,认识@PostConstruct注释,@PreDestroy注释,如有错误,请在评论区指正,让我们一起交流,共同进步!


文章目录

  • 前言
  • 1. spring生命周期
  • 2. Bean的生命周期
  • 3. 为什么先设置属性在进行初始化?
  • 总结

本文开始

1. spring生命周期

1.启动 Spring 容器
2.读取配置进行Bean实例化(分配内存空间)
3.将Bean 加入 Spring容器 中(存操作)
4.Bean装配属性(给当前类属性IDI, 取操作)。

2. Bean的生命周期

过程:
1.实例化 Bean(为 Bean 分配内存空间)
2.设置Bean属性(Bean 注⼊和装配)
3.Bean 初始化
  a) 执行各种通知
  b) 初始化的前置方法
  c) 初始化方法
  d) 初始化的后置方法
4.使⽤ Bean
5.销毁 Bean

【注】
@PostConstruct注释:修饰一个非静态的void()方法,使用该注释的方法完成初始化,被@PostConstruct注释的方法会在DI完成后自动调用;
@PreDestroy注释:修饰一个非静态的void()方法,使用该注释的方法完成销毁操作;

示例去理解Bean的生命周期:
盖房子,得先有一片区域去盖房子(相当于实例化);
准备盖房子的材料,水泥钢筋等(相当于设置Bean属性);
盖好房子后,进行装修+家具放置(相当于Bean的初始化);
房子里的东西都准备好后,进行住房子(相当于使用Bean);
不再住房子,转让他人(相当于Bean销毁)

3. 为什么先设置属性在进行初始化?

原因:先设置属性,对之后初始化有帮助,初始化可能会用的先前设置的属性;如果先初始化,再设置属性,会对初始化有影响,可能还没有属性,也就初始化会报错;


总结

✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

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

相关文章:

  • 入门Linux基本指令(2)
  • 【C++】【自用】选择题 刷题总结
  • SkyWalking链路追踪-Collector(收集器)
  • typescript自动编译文件实时更新
  • qt6.5 download for kali/ubuntu ,windows (以及配置选项选择)
  • 【JS 原型链】
  • harmonyOS 开发之UI开发(ArkTS声明式开发范式)概述
  • 【人工智能】神经网络、M-P_神经元模型、激活函数、神经网络结构、学习网络参数、代价定义、总代价
  • 小程序新渲染引擎 Skyline 发布正式版
  • 网络安全作业1
  • 【NLP】视觉变压器与卷积神经网络
  • 【redis】通过配置文件简述redis的rdb和aof
  • Cypress 上传 pdf 变空白页问题
  • 【ArcGIS Pro二次开发】(52):布局导出图片(批量)
  • Git拉取远程分支并创建本地分支
  • OSI七层模型——物理层
  • 【NLP】使用变压器(tranformer)和自动编码器
  • 广州华锐互动:水利数字孪生智能管理系统的特色
  • php使用chatGPT生成一些东西做一个记录
  • 轻量级Web报表工具ActiveReportsJS全新发布v4.0,支持集成更多前端框架!
  • 听GPT 讲K8s源代码--pkg(七)
  • STM32MP157驱动开发——按键驱动(线程化处理)
  • 探究HTTP代理爬虫的反爬虫策略
  • 短视频去水印小程序,一键部署你的小程序,可开流量主,实现睡后收入
  • 通讯录系统
  • 14:00面试,14:06就出来了,问的问题有点变态。。。
  • F5 LTM 知识点和实验 3-负载均衡中的负载算法
  • 多线程(JavaEE初阶系列2)
  • Ubuntu20.04点Ubuntu software没反应,打不开的解决方案(Ubuntu笔记)
  • 力扣1114.按序打印-----题目解析