SingletonBeanRegistry

public interface SingletonBeanRegistry {

	//在给定的bean名称下,在bean注册表中将给定的现有对象注册为单例。
    //给定的实例应该被完全初始化; 注册表将不执行任何初始化回调
    //(特别是,它不会调用InitializingBean的afterPropertiesSet方法)
    //给定的实例也不会接收任何销毁回调(如DisposableBean的destroy方法)
    //在完整的BeanFactory中运行时:如果您的bean应该接收初始化和/或销毁回调,
    //请注册一个bean定义而不是现有实例。初始化或销毁回调通常在注册表配置期间调用,
    //但也可以用于单例的运行时注册。 因此,注册表实现应同步单例访问。 
    //如果它支持BeanFactory的单例延迟初始化,则无论如何都必须这样做。
   
	void registerSingleton(String beanName, Object singletonObject);

	//返回以给定名称注册的(原始)单例对象。
	//仅检查已经实例化的单例; 对于尚未实例化的单例bean定义,不返回对象。
	//此方法的主要目的是访问手动注册的单例(请参见registerSingleton)。 
	//也可以用于以原始方式访问由已创建的bean定义定义的单例。
	//注意:此查找方法不知道FactoryBean前缀或别名。 
	//在获取单例实例之前,您需要首先解析规范的bean名称。
	Object getSingleton(String beanName);

	//检查此注册表是否包含具有给定名称的单例实例。仅检查已实例化的单例;
	//对于尚未实例化的单例bean定义,不会返回true。
	//此方法的主要目的是检查手动注册的单例(请参见registerSingleton)
	//也可以用于检查是否已创建由bean定义定义的单例。
	//使用BeanFactory的containsBean进行常规检查可以检查工厂
	//是否知道具有给定名称的bean(无论是手动注册的单例实例还是由bean定义创建的)
	//还可以检查祖先工厂。
    //注意:此查找方法不知道FactoryBean前缀或别名。
	//在检查单例状态之前,您需要首先解析规范的bean名称。 
	boolean containsSingleton(String beanName);
    //返回在此注册表中注册的单例bean的名称。
    //仅检查已经实例化的单例; 不返回尚未实例化的单例bean定义的名称。
	//此方法的主要目的是检查手动注册的单例(请参见registerSingleton)
	//也可以用来检查由bean定义定义的单例已经创建。
	String[] getSingletonNames();
	//返回在此注册表中注册的单例bean的数量。
    //仅检查已经实例化的单例; 不计算尚未实例化的单个bean定义。
    //此方法的主要目的是检查手动注册的单例(请参见registerSingleton)
    //也可以用来计算已经由bean定义定义的单例的数量。
	int getSingletonCount();
	//返回此注册表使用的单例互斥体(对于外部协作者)。
	Object getSingletonMutex();

}

你可能感兴趣的:(Spring)