bean的作用域

时间:2025-03-25 19:54:27

bean的作用域

  • 说明
  • 2、Spring Bean的作用域之间有什么区别
  • 3、例子

说明

    1、在Spring中,可以在<bean>元素的scope属性里设置bean的作用域,以决定这个bean是单例的还是多实例的。
    2、 默认情况下,Spring只是为每个在IOC容器里面声明的bean创建唯一一个实例,整个IOC容器范围内都能共享该实例:所有后续 getBean()调用和bean引用都返回这个唯一的bean实例。该作用域被称为singleton,它是所有bean的默认作用域。


2、Spring Bean的作用域之间有什么区别

   bean的作用域可以通过scope属性来指定bean的作用域
1、singleton:默认值。当IOC容器一创建就会创建bean的实例,而且是单例的,每次得到同一个。
2、prototype:原型的。当IOC容器一创建不再实例化该bean,每次调用getBean方法时再实例化该bean,而且每次调用都会返回一个新的实例
3、request:每次HTTP请求都会创建一个新的Bean,该作用域仅适用于WebApplicationContext环境
4、session:同一个HTTP Session 共享一个Bean,不同的 HTTP Session 使用不同的Bean. 该作用域仅适用于WebApplicationContext环境。


3、例子

:

<bean  id=”book” class=”com.*.Book” scop=”singleton”>
     <> 
     <>
</bean>

Class SpringTest{
     ApplicationContext  ioc=new ClassPathXmlApplicationContext(“”);

@Test
Void testBook(){
    Book book=(Book) (“book”);
}
}