Spring Bean Scope

Spring Bean Scope

  1. singleton: 单例模式,是Spring默认的作用域。

  2. prototype: 原型模式,即每次使用getBean()方法获取的同一个<bean\>实例都是一个新的实例。

  3. request: 对于每次Http请求,都将产生一个不同的Bean实例。

  4. session: 对于每个不同的Http session,都将产生一个不同的Bean实例。

:

  1. request, session, globalSession: 只有在Web应用中才有效。

  2. singleton: Bean实例是在容器被创建时即被装配好了。

  3. prototype: Bean实例是在代码中使用该Bean实例时才进行装配的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- 注册bean对象
scope: 指定bean的作用域:作用域表示bean对象的生存周期,可见性
singleton:单例,是Spring默认的作用域
prototype:原型
-->
<bean id="someService" class="com.node.ba02.SomeServiceImpl" scope="singleton"/>

<bean id="someOther" class="com.node.ba02.SomeServiceImpl" scope="prototype"/>

</beans>