1、在 Spring 里面,设置创建 bean 实例是单实例还是多实例
    2、在 Spring 里面,默认情况下,bean 是单实例对象

    1. @Test
    2. public void testCollection2(){
    3. ApplicationContext context = new ClassPathXmlApplicationContext("bean2.xml");
    4. Book book1 = context.getBean("book", Book.class);
    5. Book book2 = context.getBean("book", Book.class);
    6. System.out.println(book1);
    7. // book.test();
    8. System.out.println(book2);
    9. }

    QQ截图20220418114746.png
    3、如何设置单实例还是多实例
    (1)在 spring 配置文件 bean 标签里面有属性(scope)用于设置单实例还是多实例
    (2)scope 属性值
    第一个值默认值,singleton,表示是单实例对象
    第二个值 prototype,表示是多实例对象

    1. <bean id="book" class="com.atguigu.spring5.collectiontype.Book" scope="prototype">
    2. <property name="list" ref="bookList"></property>
    3. </bean>

    QQ截图20220418115002.png
    (3)singleton 和 prototype 区别
    第一 singleton 单实例,prototype 多实例
    第二 设置 scope 值是 singleton 时候,加载 spring 配置文件时候就会创建单实例对象
    设置 scope 值是 prototype 时候,不是在加载 spring 配置文件时候创建 对象,在调用
    getBean 方法时候创建多实例对象