1)Spring注册Bean之前,一定要先解析bean,真正意义上的注册bean是在org.springframework.beans.factory.support.DefaultListableBeanFactory类中注册的,在这个类中有一个缓存,beanDefinitionMap用于缓存,解析出来的bean的定义,beanDefinitionNames用于缓存bean的名称。
/** Map of bean definition objects, keyed by bean name */
private final Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<String, BeanDefinition>();
/** List of bean definition names, in registration order */
private final List<String> beanDefinitionNames = new ArrayList<String>();
2)注册bean的方法,registerBeanDefinition
//----------------------------------