`
lvmlvy
  • 浏览: 44570 次
社区版块
存档分类
最新评论

spring单例

    博客分类:
  • java
 
阅读更多

1、配置两个bean

    <bean id="threadObj" class="test.ThreadObj" scope="prototype">
        <property name="singleObj" ref="singleObj" />
    </bean>
    
    <bean id="singleObj" class="test.SingleObj">
    </bean>

 2、测试代码

	
	public static void main(String[] args){
		try{
			String[] xmls = {"applicationContext.xml"};
			ApplicationContext context = new ClassPathXmlApplicationContext(xmls);
	        
			ThreadObj obj1 = (ThreadObj) context.getBean("threadObj");
			System.out.println(obj1.getSingleObj());
			ThreadObj obj2 = (ThreadObj) context.getBean("threadObj");
			System.out.println(obj2.getSingleObj());
	       
		}catch (Exception e) {
			System.out.println(e.getClass().toString());
			e.printStackTrace();
		}
	}
	

 3、结果

test.SingleObj@17e2544
test.SingleObj@17e2544

 

4、修改配置文件

    <bean id="threadObj" class="test.ThreadObj" scope="prototype">
        <property name="singleObj" ref="singleObj" />
    </bean>
    
    <bean id="singleObj" class="test.SingleObj"  scope="prototype">

    </bean>

5、结果

test.SingleObj@17e2544
test.SingleObj@c09941

 

分享到:
评论

相关推荐

    浅谈Spring单例Bean与单例模式的区别

    "浅谈Spring单例Bean与单例模式的区别" 本文主要介绍了Spring单例Bean与单例模式的区别,通过对比两者的定义、实现机制和应用场景,帮助读者更好地理解这两种概念的异同。 一、单例模式的定义和实现 单例模式是一...

    spring单例引起的线程安全问题

    【Spring 单例模式与线程安全】 在 Spring 框架中,bean 的实例化策略分为两种:单例(Singleton)和多例(Prototype)。单例模式意味着在整个 Spring 容器中,对于一个给定的 bean 定义,只会存在一个实例。这通常...

    iiizk#JavaNotes#09、Spring单例依赖多例问题1

    如果只用@scope(“prototype”),单例对象中的多例对象会失效,导致@scope(“prototype”)失效原因因为单例对象加载时只会初始化一次,

    spring简单的缓存

    本示例将聚焦于“Spring简单的缓存”实现,帮助开发者了解如何在Spring框架中集成和使用缓存功能。 Spring框架提供了强大的缓存抽象,支持多种缓存机制,如 EhCache、Redis、Hazelcast 和 Infinispan 等。在Spring...

    单例多例模式

    在Spring框架中,默认情况下是单例模式。如果要产生多例,则需要在配置文件的bean中添加scope="prototype"。这将告诉Spring框架为每个请求创建一个新的对象实例。 三、为什么要用单例多例? 单例模式的优点是能够...

    25个经典的Spring面试问答

    【Spring单例Bean与线程安全】 Spring中的单例Bean默认不是线程安全的。如果多个线程同时访问一个非线程安全的单例Bean,可能会导致数据不一致。因此,应避免在单例Bean中存储状态,或者采取同步措施。 【注入Java ...

    SpringBoot (4.71G)精华详解

    1.Spring核心讲解与内容详述.mp4;`-{0B:r2E;]$u+m 2.Spring源码环境搭建与执行流程解析.mp4/j1};W;...14.Spring单例Bean的初始化与缓存流程详解.mp4%U7X2[;{3z 15.Spring对象属性赋值与作用域源码解

    java-构架宝典2020513.doc

    Spring的单例Bean默认不是线程安全的,但大部分无状态的Bean在实践中是线程安全的。对于有状态的Bean,可以通过调整作用域为`prototype`或使用线程安全策略(如`synchronized`、`Lock`或`ThreadLocal`)来处理并发...

    Spring bean为什么默认是单例

    在Spring框架中,Bean的默认作用域是"singleton",即单例模式。这意味着无论有多少次请求获取同一个Bean,Spring容器只会创建一个实例,并且在整个应用生命周期中重复使用这个实例。这种设计决策基于性能和资源管理...

    基础知识.pdf

    深入分析了SpringMVC的运行和启动流程,以及Spring单例模式的实现原理。介绍了Netty框架,包括Netty的线程模型,零拷贝机制,内部执行流程,以及重连实现的原理。同时,对微服务架构、前后端分离、RPC框架、RESTful...

    平安Java-新.doc

    4. **Spring MVC 的 Controller 单例模式**:Spring 中的 Controller 默认配置为单例,这意味着在整个应用中只有一个实例。 5. **volatile 变量可见性**:volatile 修饰的变量确保每次更新对其他线程都是立即可见的...

    浅谈Spring 的Controller 是单例or多例

    本文将深入探讨Spring的Controller是单例还是多例,以及如何确保其在并发环境下的安全性。 首先,根据Spring的默认行为,Controller被设计为单例模式。这意味着在Spring容器中,只会创建一个Controller实例,并且这...

    单例省市级联

    在具体实现上,我们可以使用JavaScript或者Java等编程语言,结合前端框架(如React、Vue)或者后端框架(如Spring Boot)来构建这个功能。在前端,单例模式可以用于创建一个状态管理器,保存省级和市级的选项,当...

    spring源码包.zip

    它解析XML或注解配置,创建Bean实例,管理Bean的依赖关系,执行初始化和销毁方法,以及实现Bean的单例或多例模式。 `spring-core`模块包含了Spring的基本工具类和基础设施,如Resource接口、ConversionService接口...

    Android单例模式

    登记式单例模式通常用于需要注册多个单例对象的场景,如Spring框架中的Bean注册。 ##### 实现代码示例 ```java public class Singleton3 { private static Map, Singleton3&gt; map = new HashMap(); private ...

    Spring in Action 中文版 pdf

    3. **Bean管理**:Spring容器负责创建、配置和管理Bean,包括单例Bean和原型Bean。书中会讲解如何使用XML、注解或Java配置来定义Bean。 4. **AOP**:Spring的AOP模块允许开发者实现横切关注点,如日志记录、事务...

    25个经典的Spring面试问题包含答案

    默认情况下,Spring容器会为每个Bean创建一个实例,若需实现单例,只需在XML配置中设置`scope="singleton"`,或在注解中使用`@Scope("singleton")`。 16. **Spring中如何处理异常?** Spring支持异常翻译,将底层...

    Spring In Action-3.2@Scope单例、多例Bean

    Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean

    springIoc实现原理

    2. **Bean实例化**:根据BeanDefinition,Spring容器创建Bean实例,可以是单例或多例。 3. **依赖注入**:Spring容器根据BeanDefinition中的依赖关系,为Bean注入依赖对象。 4. **初始化**:Spring容器调用Bean的...

Global site tag (gtag.js) - Google Analytics