Bean的作用域有几种?都有哪些作用范围?

传智教育-一样的教育,不一样的品质

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框架怎样实现依赖注入?

Spring Boot如何实现微服务?

Spring eureka原理介绍【微服务架构基础】

传智教育java培训课程

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/253852.html

(0)
上一篇 2022年5月9日 02:12
下一篇 2022年5月9日 02:16

相关推荐

发表回复

登录后才能评论