BeanDefinitionRegistry
ソース決意
継承
継承インタフェース
AliasRegistry
主に使用される別名をするために含まれ、登録されたbeanName
別名かどうか、およびアクセスを決定するために、エイリアスを削除し、別名を登録beanName
エイリアス対応します
/**
* 用于管理别名的通用接口。
* 用作{@link org.springframework.beans.factory.support.BeanDefinitionRegistry}的超级接口。
* @author 于尔根·霍勒(Juergen Hoeller)@2.5.2起
*/
public interface AliasRegistry {
/**
* 给定名称,为其注册一个别名。
* @param name the canonical name(简洁的名字)
* @param 别名 要注册的别名
* @throws IllegalStateException如果别名已在使用中并且可能不会被覆盖
*/
void registerAlias(String name, String alias);
/**
* 从此注册表中删除指定的别名。
*
* @param alias 将要删除的别名
* @throws IllegalStateException 找不到别名
*/
void removeAlias(String alias);
/**
* 确定给定名称是否被定义为别名(与实际注册的组件的名称相反)。
*
* @param name 要检查的名称
* @return 给定名称是否为别名
*/
boolean isAlias(String name);
/**
* 返回给定名称的别名(如果已定义)。
*
* @param name 要检查别名的bean的名称
* @return 别名,如果没有则为空数组
*/
String[] getAliases(String name);
}
このクラスのパース
BeanDefinitionRegistry
よるbeanName
登録BeanDefintion
を含む、beanName
対応するBeanDefinition
登録、取得、削除beanName
対応するレジスタを、判断されるbeanName
と判断され、登録されたか否かalias
、及びbeanName
既に取得するために使用されているBeanDefinition
すべての登録への登録の数、アクセスしますbeanName
。
/**
* 包含BeanDefinition的注册表的接口,例如RootBeanDefinition和ChildBeanDefinition实例。
* 通常由内部使用AbstractBeanDefinition层次结构的BeanFactories实现。
* <p>这是Spring的bean工厂包中唯一封装<i>注册</ i> bean定义的接口。
* 标准BeanFactory接口仅涵盖对<i>完全配置的工厂实例</ i>的访问。
* <p> Spring的Bean定义读者希望可以使用此接口的实现。
* Spring核心中的已知实现者是DefaultListableBeanFactory和GenericApplicationContext。
* @author Juergen Hoeller @2003年11月26日起
* @see org.springframework.beans.factory.config.BeanDefinition
* @see AbstractBeanDefinition
* @see RootBeanDefinition
* @see ChildBeanDefinition
* @see DefaultListableBeanFactory
* @see org.springframework.context.support.GenericApplicationContext
* @see org.springframework.beans.factory.xml.XmlBeanDefinitionReader
* @see PropertiesBeanDefinitionReader
*/
public interface BeanDefinitionRegistry extends AliasRegistry {
/**
* 在此注册表中注册新的BeanDefinition。
* 必须支持RootBeanDefinition和ChildBeanDefinition。
*
* @param beanName 要注册的bean实例的名称
* @param beanDefinition 要注册的bean实例的BeanDefinition
* @throws BeanDefinitionStoreException 如果BeanDefinition无效
* @throws BeanDefinitionOverrideException 如果指定的bean已经有BeanDefinition名称,并且不
*/
void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
throws BeanDefinitionStoreException;
/**
* 删除给定名称的BeanDefinition。
*
* @param beanName 已注册的bean实例的名称
* @throws NoSuchBeanDefinitionException 如果没有这样的bean定义
*/
void removeBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;
/**
* 返回给定bean名称的BeanDefinition。
*
* @param beanName Bean的名称,以查找给定名称的BeanDefinition
* @return beanName对应的BeanDefinition(不返回{@code null})
* @throws NoSuchBeanDefinitionException 如果没有这样的bean定义
*/
BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;
/**
* 检查此注册表是否包含具有给定名称的BeanDefinition。
*
* @param beanName 要查找的bean的名字
* @return 是否这个注册中心包含给定的beanName对应的BeanDefinition
*
*/
boolean containsBeanDefinition(String beanName);
/**
* 返回此注册表中定义的所有bean的名称。
*
* @return 此注册表中定义的所有bean的名称;
* 如果未定义,则为空数组
*/
String[] getBeanDefinitionNames();
/**
* 返回注册表中定义的bean数。
*
* @return 注册表中定义的bean数
*/
int getBeanDefinitionCount();
/**
* 确定给定的beanName是否已在此注册表中使用,换言之是否在此名称下注册了使用beanName或对应alias的本地bean。
*
* @param beanName 要检查的名称
* @return 给定的bean名称是否已被使用
*/
boolean isBeanNameInUse(String beanName);
}
概要
すべての責任を負うの第一beanName
およびBeanDefinition
リレーショナルマッピング(登録)、達成しながら、AliasRegistry
インターフェースを、意志beanName
とalias
の間のリンクを確立します。