Spring源码之路-DefaulListableBeanFactory
AliasRegistry接口总结
- 这个接口看起来就比较简单了,就是管理主的名称与小名的关系,但是这里的
小名也不允许重复。 - 这里有一个方法
String[] getAliases(String name);
跟BeanFactory中的方法一模一样,要求也基本一致。
- 为什么在两个接口都拥有这个方法 [ 猜想是在使用BeanFactory对象的时候,需要获取到对象的所有别名,但是又不能强转成AliasRegistry类型,为了代码的优雅吧。如果有更好的见解可以在留言区留言]
源码注释的大概翻译
/**
* 用于管理别名的通用接口。用作
* {@link org.springframework.beans.factory.support.BeanDefinitionRegistry}
* 的超级接口。
*
* @author Juergen Hoeller
* @since 2.5.2
*/
public interface AliasRegistry {
/**
* 给定名称,为其注册一个别名。
* @param name 规范名称
* @param alias 要注册的别名
* @throws IllegalStateException 如果别名已在使用中不会被覆盖
*/
void registerAlias(String name, String alias);
/**
* 从此注册表中删除指定的别名。
* @param alias 要删除的别名
* @throws IllegalStateException 如果未找到此类别名
*/
void removeAlias(String alias);
/**
* 确定给定名称是否定义为别名
* (与实际注册的组件的名称相反)。
* @param 要检查的名称
* @return 给定名称是否为别名
*/
boolean isAlias(String name);
/**
* 返回给定名称的别名(如果已定义)。
* @param name 要检查别名的名称
* @return 如果没有别名则为空数组
*/
String[] getAliases(String name);
}