Spring中Bean的作用域(生命周期)有哪些?


简介

Spring框架的IOC容器是可以方便的帮助我们去管理应用里面的Bean对象的一个实例,我们只需要按照Spring里面提供的xml或者注解的方式,去告诉IOC容器哪些Bean需要被IOC容器管理就行了。

那么,既然是Bean对象的实例管理,那么意味着这些实例是存在生命周期的(也就是作用域)。常规的生命周期只有2种。第一种是singleton(单例)、第二种是prototype(原型)

单例(singleton)

意味着在整个Spring容器中,只会存在一个Bean实例。意味着整个Spring容器里面只会存在一个Bean的实例。

原型(prototype)

意味着每一次从IOC容器去获取指定Bean的时候,都会返回一个新的实例对象。

控制Bean的生命周期

但是在基于spring框架下的web应用里面,增加了一个会话维度,来控制Bean的生命周期的这样的一个功能,他主要有三个选项:

  • 1、request:针对每一次http请求都会创建一个新的Bean

  • 2、session:以session会话为维度,同一个session共享一个Bean实例,不同的session产生不同的Bean实例

  • 3、global session:针对全局session维度共享同一个Bean实例


分类:Java
标签: juc
文章目录