1、概念
在Spring中可以通过配置bean标签的scope属性来指定bean的作用域范围,各取值含义参加下表:
取值 | 含义 | 创建对象的时机 |
---|---|---|
singleton | 在IOC容器中,这个bean的对象始终为单实例 | IOC容器初始化时 |
prototype | 这个bean在IOC容器中有多个实例 | 获取bean时 |
如果是在WebApplicationContext环境下还会有另外两个作用域(但不常用):
取值 | 含义 |
---|---|
request | 在一个请求范围内有效 |
session | 在一个会话范围内有效 |
2、配置
3、测试
@Test
public void testExperiment15() {
HappyMachine happyMachine01 = (HappyMachine) iocContainer.getBean(“happyMachine4”);
HappyMachine happyMachine02 = (HappyMachine) iocContainer.getBean(“happyMachine4”);
System.out.println(happyMachine01 == happyMachine02);
System.out.println("happyMachine01.hashCode() = " + happyMachine01.hashCode());<br /> System.out.println("happyMachine02.hashCode() = " + happyMachine02.hashCode());<br />}