bean的生命周期

生命周期:从生到死的过程。那么对于bean来说就是从创建到销毁的过程。

普通的Java对象的创建由我们new创建,然后在不用的时候,java回收机制会自动回收。那么bean呢?

bean是spring中的对象,和普通对象不一样的就是bean是由spring创建和管理的,我们使用的时候直接调用,bean的生命周期由spring决定。

那么一个bean的生命周期可以分为五部分:

  1. 实例化:给bean分配内存空间。**注意:实例化和初始化不一样,**实例化只是分配一个内存空间。
  2. 设置属性:依赖注入.
  3. 初始化:执行各种通知,如BeanNameAware;执行初始化。
  4. 使用bean
  5. 销毁bean

bean的执行流程

bean的销毁是要在容器(上下文)销毁前才回去执行的。

只有这些是不会执行的,要加上容器的销毁:

这样就会在容器销毁前执行bean销毁的方法。

为什么属性装配在初始化前边呢?

因为初始化的时候可能会用到有的方法或者值,所以要先一步进行属性装配。

相关推荐
Foyo Designer几秒前
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的国际化:支持多语言的 RESTful API
java·spring boot·redis·后端·spring·缓存·restful
Stuild Stuil2 分钟前
Mysql 字段值批量自增或自减(坐标系数据,(x,y))
java·javascript·mysql
敲敲敲-敲代码7 分钟前
【Kettle安装】Kettle安装过程, 电脑已安装java23,安装Kettle 出现报错:尝试启动 Java 虚拟机(JVM)时失败解决方法
java·kettle
郭涤生9 分钟前
Chapter 5: The Standard Library (C++20)_《C++20Get the details》_notes
开发语言·c++·笔记·c++20
利明的博客17 分钟前
mediacodec服务启动时加载media_codecs.xml
android·xml·java
叶孤程26 分钟前
Qt图形化界面为何总被“冷落“?
开发语言·c++·qt
葵野寺32 分钟前
【多线程】线程池
java·开发语言·java-ee·web app
十六ᵛᵃᵉ33 分钟前
day6_FlinkSQL实战
java·redis·ajax
写代码写到手抽筋42 分钟前
C++多线程的性能优化
java·c++·性能优化
高林雨露1 小时前
Java 与 Kotlin 对比学习指南(二)
java·开发语言·kotlin