在<bean>
标签中,可以为属性scope
设置bean的作用域:
-
单例(
singleton
)
在整个应用程序中,只创建bean的一个实例
注:如果想要延迟加载(按需加载),再添加一个属性lazy-init="true"
-
原型(
prototype
)
每次注入或通过Spring.上下文获取的时候,都会创建一个新的bean实例 -
会话(
session
)
在Web应用中,为每个会话创建一 个bean实例 -
请求(
request
)
在Web应用中,为每个请求创建一个bean实例
自动装配中的bean作用域的配置
在被需要自动装配的类上方添加注解:
@Scope
,有三种方法:
@Scope("singleton")
注:如果想要延迟加载(按需加载),再添加一个注解:@Lazy
@Scope(scopeName="singleton")
@Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)