核心类介绍
1.DefaultListableBeanFactory
源码:
public class XmlBeanFactory extends DefaultListableBeanFactory {
-- XmlBeanFactory 自定义的 XML 读取器
private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this);
}
XmlBeanFactory继承DefaultListableBeanFactory,而DefaultListableBeanFactory是整个bean加载的核心部分,是spring注册及加载bean的默认实现,而对于XmlBeanFactory和DefaultListableBeanFactory不同的地方其实在XmlBeanFactory中使用了自定义的XML读取器。
DefaultListableBeanFactory的类图和层次结构图如下:
其中:
org.springframework.core.AliasRegistry 源码如下:
package org.springframework.core;
-- 映射别名(managing aliases)的公共接口
-- org.springframework.beans.factory.support.BeanDefinitionRegistry的父接口
public interface AliasRegistry {
-- 注册别名
-- 如果别名已经使用 抛异常 IllegalStateException
void registerAlias(String name, String alias);
-- 移除别名
-- 如果别名不存在 抛异常 IllegalStateException
void removeAlias(String alias);
-- 给定个字符串判断是否是别名
boolean isAlias(String name);
-- 获取name对应的所有的别名
String[] getAliases(String name);
}