在IoC容器最顶级接口BeanFactory 中,有 isSingleton(单例), isPrototype (原型)
两个方法,isSingleton 方法如果返回true ,则bean在IoC容器中以单例存在,这是spring
IoC容器的默认值。
isPrototype 是true 则每次获取bean的时候会创建一个新的bean。
单例(singleton),原型(pototype)即 bean的两种作用域。
spring 共有以下几种作用域
作用域类型 | 使用范围 | 作用域描述 |
---|---|---|
singleton | 所用spring应用 | 默认值,IoC容器只存在单例 |
prototype | 所有spring应用 | 每当从ioc容器中获取一个bean,则创建一个新的bean |
session | spring web 应用 | http 会话 |
application | spring web 应用 | web工程生命周期 |
request | spring web 应用< |