BeanDefinition :
package org.springframework.beans.factory.config.* ;
BeanDefinition — это специальный интерфейс, через который можно получить доступ к метаданным будущего бина. В зависимости от того, какая у вас конфигурация, будет использоваться тот или иной механизм парсирования конфигурации.
Xml конфигурация :
Для Xml конфигурации используется класс — XmlBeanDefinitionReader, который реализует интерфейс BeanDefinitionReader.
XmlBeanDefinitionReader получает InputStream и загружает Document через DefaultDocumentLoader.
Далее обрабатывается каждый элемент документа и если он является бином, то создается BeanDefinition на основе заполненных данных (id, name, class, alias, init-method, destroy-method и др.).
Каждый BeanDefinition помещается в Map. Map хранится в классе DefaultListableBeanFactory.