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

时间:2022-06-06 23:08:09

目录结构:

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

关键性代码:

beans.xml

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