尚硅谷面试第一季-07Spring Bean的作用域之间有什么区别

目录结构:

尚硅谷面试第一季-07Spring Bean的作用域之间有什么区别

关键性代码:

beans.xml

 1 <!-- ★bean的作用域
 2         可以通过scope属性来指定bean的作用域
 3             -singleton:默认值。当IOC容器一创建就会创建bean的实例,而且是单例的,每次得到的都是同一个
 4             -prototype:原型的。当IOC容器一创建不再实例化该bean,每次调用getBean方法时再实例化该bean,而且每调用一次创建一个对象
 5             -request:每次请求实例化一个bean
 6             -session:在一次会话*享一个bean
 7      -->
 8     <bean id="book" class="SpringBean的作用域之间有什么区别.beans.Book" scope="singleton">
 9          <property name="id" value="8"></property>
10          <property name="title" value="红高粱"></property>
11          <property name="author" value="莫言"></property>
12          <property name="price" value="10.00"></property>
13          <property name="sales" value="800"></property>
14     </bean>

SpringTest.java

@Test
    void testBook() {
        Book book = (Book) ioc.getBean("book");
        Book book2 = (Book) ioc.getBean("book");
        System.out.println(book==book2);
    }

运行结果:

尚硅谷面试第一季-07Spring Bean的作用域之间有什么区别

完整代码:https://gitee.com/ZhangShunHai/interview_atguigu_seasonone/tree/master/ssm_spring%20bean

课堂重点:

bean的作用域
可以通过scope属性来指定bean的作用域
-singleton:默认值。当IOC容器一创建就会创建bean的实例,而且是单例的,每次得到的都是同一个
-prototype:原型的。当IOC容器一创建不再实例化该bean,每次调用getBean方法时再实例化该bean,而且每调用一次创建一个对象
-request:每次请求实例化一个bean
-session:在一次会话*享一个bean
上一篇:Spring BeanFactory


下一篇:Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.8.3 使用FactoryBean自定义实例化逻辑