单例Bean注册表接口SingletonBeanRegistry
发布时间:2020-12-14 05:33:25 所属栏目:Windows 来源:网络整理
导读:Github: SingletonBeanRegistry.java SingletonBeanRegistry package org.springframework.beans.factory.config;import org.springframework.lang.Nullable;/** * 为共享Bean实例(shared bean instances)定义注册表(define a registry)的接口 * Can be impl
Github: SingletonBeanRegistrypackage org.springframework.beans.factory.config; import org.springframework.lang.Nullable; /** * 为共享Bean实例(shared bean instances)定义注册表(define a registry)的接口 * Can be implemented by {@link org.springframework.beans.factory.BeanFactory} * implementations,以便用一种统一的方式来公开他们的单例管理设施(expose their singleton management facility) * * <p>The {@link ConfigurableBeanFactory} interface extends this interface. * * @author Juergen Hoeller * @since 2.0 * @see ConfigurableBeanFactory * @see org.springframework.beans.factory.support.DefaultSingletonBeanRegistry * @see org.springframework.beans.factory.support.AbstractBeanFactory */ public interface SingletonBeanRegistry { /** * 在给定的bean名称下,在bean注册表中将给定的现有对象注册为singleton. * <p>他给出的实例应该被完全初始化; * 注册表不会执行任何初始化回调(特别是,它不会调用InitializingBean的{@code afterPropertiesSet}方法) * 给定的实例不会收到任何销毁回调 *(比如,DisposableBean's {@code destroy} 方法) * <p>在完整的BeanFactory运行时: * <b>如果你的bean应该接收initialization或者destruction回调, * 注册bean定义而不是一个现有的实例</b> * <p>通常在注册表配置期间调用,* 但也可以用于单例的运行时注册 * 因此,注册表实现应该同步单例访问 * 如果它支持BeanFactory对单例的懒惰初始化, * 它将无论如何都必须这样做 * * @param beanName the name of the bean * @param singletonObject the existing singleton object * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet * @see org.springframework.beans.factory.DisposableBean#destroy * @see org.springframework.beans.factory.support.BeanDefinitionRegistry#registerBeanDefinition */ void registerSingleton(String beanName,Object singletonObject); /** * 返回在给定名称下注册的(原始)单例对象 * <p>只检查已经实例化的单例; * 没有为 尚未实例化的单例bean定义 返回一个对象. * <p>此方法的主要目的是访问手动注册的单例 * (see {@link #registerSingleton}). * 也可以用于以原始的方式 访问已经创建的bean定义的单例 * <p><b>NOTE:</b> 此查找方法不知道FactoryBean的前缀或别名. * 在获取实例之前,需要首先解析规范bean名称 * * @param beanName the name of the bean to look for * @return the registered singleton object,or {@code null} if none found * @see ConfigurableListableBeanFactory#getBeanDefinition */ @Nullable Object getSingleton(String beanName); /** * 检查此注册表是否包含具有特定名称的单例实例 * <p>仅检查已经实例化的单例; does not return {@code true} * 对于尚未初始化的单例bean定义,不返回{@code true}. * <p>此方法的主要目的是检查手动注册的单例 * (see {@link #registerSingleton}). * 也可以用来检查一下已经创建了由bean定义的单例 * <p>要检查bean工厂是否包含具有给定名称的bean定义,* 使用 ListableBeanFactory's {@code containsBeanDefinition}. 同时调用 * {@code containsBeanDefinition} and {@code containsSingleton} * 就可以回答一个特定的bean工厂是否包含 * 具有给定名称的本地bean实例 * <p>使用 BeanFactory's {@code containsBean} 来大体上检查工厂是否知道具有给定名称的bean * (无论是手动注册的单例实例还是bean定义创建的),* 也检查祖先工厂. * <p><b>NOTE:</b> T此查找方法不知道FactoryBean前缀或别名. * 在检查单例状态之前,您需要先解析规范bean名称. * * @param beanName the name of the bean to look for * @return if this bean factory contains a singleton instance with the given name * @see #registerSingleton * @see org.springframework.beans.factory.ListableBeanFactory#containsBeanDefinition * @see org.springframework.beans.factory.BeanFactory#containsBean */ boolean containsSingleton(String beanName); /** * 返回在此注册表中注册的单例bean的名称 * <p>只检查已经实例化的单例;不返回尚未实例化的单例bean定义的名称 * <p>此方法的主要目的是检查手动注册的单例(请参阅{@link #registerSingleton})。 * 也可以用于检查已经创建了bean定义的单例。 * * @return the list of names as a String array (never {@code null}) * @see #registerSingleton * @see org.springframework.beans.factory.support.BeanDefinitionRegistry#getBeanDefinitionNames * @see org.springframework.beans.factory.ListableBeanFactory#getBeanDefinitionNames */ String[] getSingletonNames(); /** * 返回在此注册表中的注册的单例bean的数量 * <p>只检查已经实例化的单例; 不计算尚未实例化的单例bean定义 * <p>此方法的主要目的是检查手动注册的单例实例 * (see {@link #registerSingleton}). * 也可以用于计算已经创建的bean定义的单例数 * * @return the number of singleton beans * @see #registerSingleton * @see org.springframework.beans.factory.support.BeanDefinitionRegistry#getBeanDefinitionCount * @see org.springframework.beans.factory.ListableBeanFactory#getBeanDefinitionCount */ int getSingletonCount(); /** * 返回此注册表使用的单例互斥锁 (适用于外部协作者). * @return the mutex object (never {@code null}) * @since 4.2 */ Object getSingletonMutex(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2003 – 为WebSites定义IIS IP地址的内容
- uwp – 部署到手机时找不到元素
- .net – 没有makecert的Windows自签名证书?
- 【Jmeter】Address already in use : connect &&P
- windows-server-2012-r2 – 消失的硬盘空间 – Server 2012
- windows 用浏览器打开应用程序的方法
- 保存Windows窗体大小
- 命令行 – 在Windows 2008 Server中从MP3 / WAV文件生成可视
- 在Windows 7上的Haskell平台中使用Curl
- 警告: 正保存的数据被裁断到 1024 字符。 错误: 拒绝访问注
推荐文章
站长推荐
热点阅读