Bean的作用域和生命周期

Posted 秃头小宝儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bean的作用域和生命周期相关的知识,希望对你有一定的参考价值。

一、Bean的作用域(Bean的类型)

Spring 容器在初始化一个 Bean 的实例时,同时会指定该实例的作用域。Spring有6个作用域,最后四种是基于Spring WebMVC生效。

  • singleton(单例模式):该作用域下的Bean在IOC容器中只存在一个实例。(Spring默认选择该作用域)
  • prototype :每次对该作用域下的Bean的请求都会创建新的实例。使用@Scope(“prototype”)对类进行注解。
  • request:每次http请求都会创建新的Bean实例,类似于prototype,限定于SpringMVC中使用。
  • session:在一个http session中,定义一个Bean实例。
  • application:在一个http servlet Context中,定义一个Bean实例。
  • websocket: 在一个Http websocket的生命周期中,定义一个Bean实例。

二、Bean的生命周期

Bean生命周期概览:
主要概括为4步:

  • 1.实例化:将二进制字节流转成内存对象(属性还未注入)
  • 2.属性设置:依赖注入
  • 3.初始化:开始执行你的业务代码
  • 4.销毁:执行destroy()方法

以上是关于Bean的作用域和生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Spring(Bean 作用域和生命周期)

Bean的作用域和生命周期

Bean的作用域和生命周期

Bean的作用域和生命周期

spring bean的作用域和生命周期

[Spring5]IOC容器_Bean管理_bean的作用域和bean的生命周期