首页 / 科技数码 / 正文

spring bean的作用域 

Spring bean的作用域指的是spring容器创建bean完成后的生命周期,即从创建到销毁的整个过程。

Spring bean的作用域主要有以下几种:

1. singleton:使用该属性定义的bean,IOC容器仅创建一个bean实例,每次返回的都是同一个bean实例。

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

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

4. session:该属性仅用于HTTP Session,同一个Session共享一个bean实例,不同Session使用不同的实例。

5. global-session:该属性仅用于HTTP Session,所有的Session共享一个bean实例。

在实际开发中,常用的作用域是singleton(单例)和prototype(原型、非单例)两种。Spring默认的Bean对象的作用域为单例且为“饿汉模式”,也就是每次调用具有相同id的bean对象,会返回相同的实例,但是我们可以通过lazy-init属性改为“懒汉模式”,只有单例情况下才存在懒汉和饿汉模式。

此外,还可以通过@Scope注解设置bean的作用域,可以标注在类上和方法上。

如有侵权请及时联系我们处理,转载请注明出处来自