先看代码:
PersonBean person=(PersonBean)context.getBean("personBean");
System.out.println(person.getName());
person.setName("linshi");
System.out.println(person.getName());
PersonBean newPerson=(PersonBean)context.getBean("personBean");
System.out.println(newPerson.getName());
当XML文件的配置为:
<bean id="personBean" class="wang.PersonBean" >
<property name="name" value="${name}" />
<property name="id" value="${id}" />
</bean>
PersonBean的作用域为默认singleton时,输出结果是:
zhanshan
linshi
linshi
将XML文件的配置更改为:
<bean id="personBean" class="wang.PersonBean" scope="prototype">
<property name="name" value="${name}" />
<property name="id" value="${id}" />
</bean>
输出结果是:
zhanshan
linshi
zhanshan
当PersonBean的作用域为默认singleton时,因为容器里的PersonBean只实例化一次,就是说不管你取多少次,都是取到同一个对象
而将PersonBean的作用域设为prototype时,每次从容器里取时,都会取得一个新的对象.
分享到:
相关推荐
总结起来,Spring中的`singleton`和`prototype`作用域是管理Bean生命周期的重要手段。`singleton`提供了单例模式的实现,确保了全局唯一性,适合状态不随时间改变的对象;`prototype`则支持按需创建新实例,适用于...
Spring Bean作用域属性singleton和prototype的区别详解 Spring Framework中,Bean的作用域属性是指Bean实例的生命周期和作用域。Spring提供了五种作用域:singleton、prototype、request、session和global session...
在Spring框架中,Bean的两种主要作用域是Singleton和Prototype。Singleton Bean表示在整个Spring IoC容器中只有一个实例,而Prototype Bean则表示每次请求都会创建一个新的实例。这两种作用域的使用场景和实现方式都...
- Singleton是Spring默认的Bean作用域。这意味着,无论何时,只要Spring容器被初始化,它都会创建一个Bean实例,并将其缓存起来。后续对相同ID的Bean的所有请求都会返回同一个实例。这种方式类似于设计模式中的单例...
本文主要聚焦于两种常用的作用域:singleton和prototype。 **Singleton(单例)** Singleton模式意味着每个Bean在Spring容器中只会存在一个实例。当你通过`ApplicationContext`获取一个配置为`scope="singleton"`...
在 Spring 中,bean 的作用域可以分为五种:singleton、prototype、request、session 和 global session。这五种作用域类型决定了 bean 的实例化和生命周期的管理方式。 1. Singleton 作用域 Singleton 作用域是...
Spring中Bean的生命周期和作用域及实现方式 Spring是一个非常流行的Java应用程序框架,它提供了一个灵活的机制来管理Bean的生命周期和作用域。Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了...
在企业级应用开发中,Java 是一种广泛使用的编程语言,特别是在Spring框架的支持下,能够构建高效、可扩展的系统。Spring框架的核心特性之一是...选择正确的Bean作用域是实现高效且健壮的企业级应用开发的关键步骤。
Spring提供了五种不同的Bean作用域,每种都有其特定的使用场景和行为。 1. **Singleton作用域**:这是Spring的默认作用域,意味着无论何时从容器中请求一个特定的Bean,都会返回同一个实例。在配置文件中,可以使用...
本篇内容将深入探讨Spring容器中Bean的作用域编程开发技术,以帮助开发者更好地理解和利用这些特性来优化应用的性能和设计。 1. **单例(Singleton)作用域**:这是Spring中最常见也是默认的作用域。每个Spring容器...
关于`bean的作用域`,Spring支持多种Bean的作用域,包括单例(Singleton)、原型(Prototype)、会话(Session)和请求(Request)。这些作用域定义了Bean的生命周期和创建行为: 1. **单例(Singleton)**:默认...
与singleton相反, 每次通过容器的getBean()方法获取该作用域下的Bean时都将产生一个新的Bean实例 3>request: 对于同一次Http请求,request作用域下的Bean都将只生成一个实例。这种作用域只有在Web应用中使用Spring...
在Spring框架中,Bean的作用域是管理对象生命周期和作用范围的关键概念。Bean的定义通常包含在XML配置文件中,通过`<bean>`标签进行配置。当我们谈论"SSH笔记-bean的作用域"时,这里SSH指的是Spring、Struts和...
本文将详细介绍Spring中的singleton和prototype的实现,通过示例代码和测试结果,帮助读者深入理解这两种bean作用域。 Singleton Singleton模式是Spring框架中最基本的bean作用域,其特点是容器中只实例化一次。...
SPRING FRAMEWORK BEAN作用域和生命周期原理解析 Spring Framework 是一个流行的 Java Web 应用程序框架,它提供了一个强大的依赖注入机制,称为 Bean 容器。Bean 容器管理着应用程序中的所有对象,并提供了一些...
不同的作用域会影响 Bean 的生命周期,例如在 singleton 作用域中,Bean 实例是共享的,而在 prototype 作用域中,每次请求 Bean 时都会创建一个新的实例。 了解 Spring 中 Bean 的作用域和生命周期是非常重要的,...
Spring框架中定义了五种作用域,分别是singleton、prototype、request、session和global session。 1. singleton:单例模式,Spring IoC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一...
spring框架技术+第2天+xmind思维导图:生命周期,介绍...bean作用域singleton prototype;bean作用域request session globalSession:web项目获取核心配置文件要配置两个地方:spring监听器、spring作用域范围的监听。
在Spring框架中,Bean的生命周期管理和作用域是其核心特性之一,它们对于理解Spring如何管理对象的创建、初始化、使用以及销毁至关重要。首先,我们来深入探讨Bean的生命周期。 Spring中的Bean生命周期主要分为两个...