Spring IoC контейнер: BeanFactory

BeanFactory API обеспечивает базовую основу для функциональности Spring IoC. Его конкретные контракты в основном используются в интеграции с другими частями Spring и связанных сторонних фреймворков, а его реализация DefaultListableBeanFactory является ключевым делегатом в контейнере GenericApplicationContext более высокого уровня.

BeanFactory и связанные интерфейсы (такие как BeanFactoryAware, InitializingBean, DisposableBean) являются важными точками интеграции для других компонентов инфраструктуры. Не требуя никаких аннотаций или даже отражения, они обеспечивают очень эффективное взаимодействие между контейнером и его компонентами. Компоненты уровня приложения могут использовать те же интерфейсы обратного вызова, но обычно вместо этого предпочитают декларативную инъекцию зависимостей либо через аннотации, либо через программную конфигурацию.

Обратите внимание, что базовый уровень API BeanFactory и его реализация DefaultListableBeanFactory не делают предположений о формате конфигурации или каких-либо аннотациях компонентов, которые будут использоваться. Все эти разновидности поступают через расширения (такие как XmlBeanDefinitionReader и AutowiredAnnotationBeanPostProcessor) и работают с общими объектами BeanDefinition в качестве основного представления метаданных. Это суть того, что делает контейнер Spring таким гибким и расширяемым.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки