Spring之Bean的作用域及配置方式


Bean 的作用域一共有 5 个。

singleton

singleton 作用域:表示在 Spring 容器中只有一个 Bean 实例,以单例的形式存在,是默认的 Bean 作用域。

配置方式,缺省即可,XML 的配置方式如下:

<bean class="..."></bean>

prototype

原型作用域,每次调用 Bean 时都会创建一个新实例,也就是说每次调用 getBean() 方法时,相当于执行了 new Bean()。

XML 的配置方式如下:

<bean class="..." scope="prototype"></bean>

request

每次 Http 请求时都会创建一个新的 Bean,该作用域仅适应于 WebApplicationContext 环境。

XML 的配置方式如下:

<bean class="..." scope="request"></bean>

Java 注解的配置方式如下:

@Scope(WebApplicationContext.SCOPE_REQUEST)

或是:

@RequestScope(WebApplicationContext.SCOPE_REQUEST)

session

同一个 Http Session 共享一个 Bean 对象,不同的 Session 拥有不同的 Bean 对象,仅适用于 WebApplicationContext 环境。

XML 的配置方式如下:

<bean class="..." scope="session"></bean>

Java 注解的配置方式如下:

@Scope(WebApplicationContext.SCOPE_SESSION)

或是:

@RequestScope(WebApplicationContext.SCOPE_SESSION)

application

全局的 Web 作用域,类似于 Servlet 中的 Application。

XML 的配置方式如下:

<bean class="..." scope="application"></bean>

Java 注解的配置方式如下:

@Scope(WebApplicationContext.SCOPE_APPLICATION)

或是:

@RequestScope(WebApplicationContext.SCOPE_APPLICATION)

小结

工作中用的都是用的默认的单例Bean,还没有碰到要使用其他作用域到情况。下次有碰到再补充进来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值