热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   根域文章 -   正文

Java面试知识小干货!spring支持哪几种bean作用域?

zhiliaoadmin
2022-01-26 10:00:00
0

在大家面试Java就业过程中会被面试官问到Java的一些相关知识点,今天小编就给大家整理了一些Java面试知识小干货,快来跟小编一起看看吧~ spring支持哪几种bean作用域?

Java面试知识小干货

在通过spring容器创建Bean实例时,Bean实例的实例化不仅能够完成,而且还能指定Bean的特定范围。

 

Spring支持以下5个范围范围:

singleton:单例模式,在整个SpringIoC容器中,使用singleton定义的Bean只有一个实例。


prototype:原型模式,每次通过容器的getBean方法获得prototype定义的Bean时,就会生成一个新的Bean实例。


equest:Bean使用request定义,为每次HTTP请求生成一个新实例,也就是每次HTTP请求都会生成不同的Bean实例。仅当Web应用中使用Spring时,范围才有效。


session:每次HTTPSession都会用session定义的Bean豆浆来生成一个新实例。当Web应用中仅有Spring用于时,范围才是有效的。

 

globalsession:每个全局HTTPSession和session定义的Bean都会生成一个新实例。通常,只有当使用portletcontext时才能工作。当Web应用中仅有Spring用于时,范围才是有效的。

 

singleton和prototype中更常用的两个范围。对一个singleton范围的Bean,每次请求这个Bean都会得到同一个实例。容器负责跟踪Bean实例的状态,对Bean实例的生命周期行为负责;如果将Bean设置为prototype范围,每一次程序请求id的Bean,Spring就会创建一个新的Bean实例,并返回到程序。本例中,Spring容器只使用new关键字创建Bean实例,一旦成功创建,容器就不会跟踪实例,也不会维护Bean实例的状态。

 

Spring默认使用singleton范围,如果没有指定Bean的范围。Java当创建Java实例时,需要进行内存申请;当实例被破坏时,垃圾收集需要完成,这都会增加系统开销。所以,prototype范围Bean的创建,销毁的成本会更高。而且,singleton范围内的Bean实例一旦成功创建,就可以重复使用。所以,如果不需要,请尽量避免将Bean设置为prototype范围。


spring支持哪几种bean作用域?关注知了堂成都Java培训带你了解更多Java相关知识点和更多Java相关问题。

Java面试知识小干货

大家都在看

应届毕业生,选择放弃月薪1.9w的offer!

2022-01-26 浏览次数:0

小白必看!ui设计的原则有哪些?ui设计干货来袭...

2022-01-26 浏览次数:0

学计算机的毕业后可以找什么工作?这些热门工作等你...

2022-01-26 浏览次数:0

女生学前端还是软件测试好?女士最适合的IT职业

2022-01-26 浏览次数:0

前端开发是干什么的?什么是前端开发和后端开发

2022-01-26 浏览次数:0

计科专业小姐姐转前端,顺利入职某科工研究院!

2022-01-26 浏览次数:0
最新资讯
Java面试知识小干货!spr... 在大家面试Java就业过程中会被面试官问到Java的一些相关知识点,今天小编就给大家整理了一些Jav...