5、IOC 之Bean作用域 scope
Scope | 描述 |
---|---|
singleton | 单例:(默认值)将单个 Bean 定义的范围限定为每个 Spring IoC 容器的单个对象实例;每次获取都是同一个对象 |
prototype | 原型:将单个 Bean 定义的范围限定为任意数量的对象实例;每次获取都是新创建的对象 |
request | 将单个 Bean 定义的作用域限定为单个 HTTP 请求的生命周期 |
session | 将单个 Bean 定义的作用域限定为 HTTP session 的生命周期 |
application | 将单个 Bean 定义的作用域限定为ServletContext 的生命周期 |
websocket | 将单个 Bean 定义的作用域限定为WebSocket 的生命周期 |
xml定义Bean:
<!-- 单例模式,默认就是单例,scope写和不写没区别 -->
<bean id="beanOne" class="ExampleBean" scope="singleton"/>
<!-- 原型模式,每次获取都是新创建的对象 -->
<bean id="manager" class="ExampleBean" scope="prototype"/>
其余的只会在 web 开发中用到,具体内容可直接参考 官方文档