Spring bean scope 详解_Spring

Scope是定义Spring如何创建bean的实例的。

在创建bean的时候可以带上scope属性,scope有下面几种类型。

Spring bean scope 详解_Spring_02

Singleton

这也是Spring默认的scope,表示Spring容器只创建一个bean的实例,Spring在创建第一次后会缓存起来,之后不再创建,就是设计模式中的单例模式。

Prototype

代表线程每次调用这个bean都新创建一个实例。

Request

表示每个request作用域内的请求只创建一个实例。

Session

表示每个session作用域内的请求只创建一个实例。

GlobalSession

这个只在porlet的web应用程序中才有意义,它映射到porlet的global范围的session,如果普通的web应用使用了这个scope,容器会把它作为普通的session作用域的scope创建。

Spring bean scope 详解_Spring_03

在创建bean的时候如何指定呢?

xml方式

<bean id="student" class="Student" scope="prototype" />

注解方式

@Component

@Scope("prototype")

public class Student{

}

是不是很简单,更多干货请关注Java技术栈微信公众号。

关注公众号Java技术栈回复"面试"获取我整理的2020最全面试题及答案。

推荐去我的博客阅读更多:

1.Java JVM、集合、多线程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、后端、架构、阿里巴巴等大厂最新面试题

觉得不错,别忘了点赞+转发哦!