DefaultSingletonBeanRegistry】的更多相关文章

线上发现一个问题,应用在启动时会卡死,log上并没有什么异常输出,初判应该是死锁问题. 抓现场的thread dump文件, 确实是有两个线程有deadlock问题. 线程一 "HSFBizProcessor-8-thread-13" daemon prio=10 tid=0x00007fc686a83000 nid=0x37128 waiting for monitor entry [0x000000004b7f3000] java.lang.Thread.State: BLOCKE…
DefaultSingletonBeanRegistry 这是 DefaultSingletonBeanRegistry 类的体系结构,由一个类一个责任的原则: AliasRegistry : 提供别名注册的接口 SimpleAliasRegistry : 它简单地实现了AliasRegistry接口. SingletonBeanRegistry : 提供单例bean注册的接口 DefaultSingletonBeanRegistry :它继承SimpleAliasRegistry类和实现了Si…
经过查看源代码发现IOC容器中的bean实例(不知道是不是所有的bean)是存储在一个DefaultSingletonBeanRegistry类实例的一个Map类型的属性当中. 下面是DefaultSingletonBeanRegistry类的定义: //类定义public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements SingletonBeanRegistry { 下面是这个类中的一个属性:…
此接口是针对Spring中的单例Bean设计的.提供了统一访问单例Bean的功能,BeanFactory可实现此接口以提供访问内部单例Bean的能力. //将对象(singletonObject)注册为单例,名称为beanName void registerSingleton(String beanName, Object singletonObject); //获取名称为beanName的对象 Object getSingleton(String beanName); //注册表中是否存在一个…
DefaultSingletonBeanRegistry是SingletionBean注册器的默认实现. 来学习下DefaultSingletonBeanRegistry的源码: package org.springframework.beans.factory.support; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator;…
// 用于内部标记的空的单例对象(不支持null)protected static final Object NULL_OBJECT = new Object(); // 缓存单例对象根据beanNameprivate final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(256);// 早期缓存单例对象的Factory根据beanNameprivate final Ma…
什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低 2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率 为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java…
看到了http://stackoverflow.com/questions/5547162/eclipse-error-indirectly-referenced-from-required-class-files , 也没搞明白. 后面被证明, 实际上还是Unresolved compilation problems [ERROR] [09-30 11:04:19] org.springframework.web.context.ContextLoader - Context initiali…
做JAVA开发的都知道myeclipse, 我们在myeclipse中新建一个类,然后保存, 如何正常的话,那么在项目指定的目录(也就是项目的output目录)就会生成同名的class文件, 可是,我们都知道myeclipse中的类的编译的原理? 看起来很简单的东西, 其实不搞清楚的话, 也是会让自己吃大亏的! 所谓基础不牢固, 是很难成长的. ---- 很大可能只是在泥潭中沉沦, 想想自己前几年的经历就知道了. 项目部署在 虚拟机的 tomcat上, tomcat启动的时候出现了错误, [ER…
启动tomcat, 出现, ( 之前都是好好的... ) [lk ] ERROR [08-12 15:10:02] [main] org.springframework.web.context.ContextLoader.initWebApplicationContext(215) | Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean…