实验9-测试bean的作用域,分别创建单实例和多实例的bean
- 单实例:表示容器被创建之前就已经创建好对象了,保存在容器中了;任何时候获取,都是获取之前创建好的对象。
- 多实例:容器启动不会创建多实例的bean,获取时才会创建bean。每次获取,都会创建一个新的实例。
- bean的作用域:指定bean是否单实例,默认是单实例的。
- scope=“prototype”:多实例的;
- scope=“singleton”:单实例的,默认;
<bean id="book" class="Book" scope="singleton"></bean>
<bean id="book" class="Book" scope="prototype"></bean>
//若组件是多实例的,则:
ConfigurableApplicationContext ioc = new ClassPathXmlApplicationContext("xxxxxx.xml");
@Test
public void test03(){
Object book1 = ioc.getBean("book");
Object book2 = ioc.getBean("book");
System.out.println(book1 == book2);//结果是false
}