尚硅谷面试第一季-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); }
运行结果:
完整代码: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