首页技术文章正文

Spring中Bean的作用域有哪些?Bean的作用范围

更新时间:2021-05-21 来源:黑马程序员 浏览量:

1577370495235_学IT就到黑马程序员.gif

Spring IOC容器在根据配置(可以是xml,也可以是注解)创建一个Bean对象实例时,可以为Bean指定实例的作用域。

作用域包括:

singleton(单例模式)

prototype(原型模式)

request(HTTP请求)

session(会话)

global-session(全局会话,在spring5.x版本中已经移除了)

五种作用范围说明:

singleton

使用该属性定义Bean时,IOC容器仅创建一个Bean实例,IOC容器每次返回的是同一个Bean实例。

prototype

使用该属性定义Bean时,IOC容器可以创建多个Bean实例,每次返回的都是一个新的实例。

request

该属性仅对HTTP请求产生作用,使用该属性定义Bean时,每次HTTP请求都会创建一个新的Bean,适用于WebApplicationContext环境。

session

该属性仅用于HTTP Session,同一个Session共享一个Bean实例。不同Session使用不同的实例。

global-session

该属性仅用于HTTP Session,同session作用域不同的是,所有的Session共享一个Bean实例。

Bean的作用域

Bean的生命周期

在实际开发中,我们一般常用的就是单例模式和原型模式。

单例模式生命周期与容器相同。

原型模式生命周期,是每次使用时创建新的对象,用完等待垃圾回收器回收。

(3)应用场景

Bean的作用域基本上使用的都是单例模式,在使用struts2作为表现层框架时,Action对象必须设置为原型(多例)模式。

(4)总结

本题考察的是:

spring中核心容器中bean对象作用范围以及生命周期。




猜你喜欢:

Spring中如何配置Bean?

springmvc拦截器及源码分析【技术点干货】

Spring Boot如何定义多套不同的环境配置?

黑马程序员Java培训

分享到:
在线咨询 我要报名
和我们在线交谈!