核心类介绍

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的类图和层次结构图如下:
spring源码分析 一

其中:
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);

}

相关文章: