Spring IoC контейнер: настройка бинов, другие Aware интерфейсы

Помимо ApplicationContextAware и BeanNameAware, Spring предлагает широкий спектр Aware интерфейсов обратного вызова, которые позволяют bean-компонентам указывать контейнеру, что им требуется определенная зависимость от инфраструктуры. Как правило, имя указывает тип зависимости. В следующей таблице приведены наиболее важные Aware интерфейсы:

Имя Внедренная зависимость
ApplicationContextAware
Объявление ApplicationContext
ApplicationEventPublisherAware
Событие издателя вмещающего ApplicationContext
BeanClassLoaderAware
Загрузчик классов, используемый для загрузки классов компонентов.
BeanFactoryAware
Объявление BeanFactory
BeanNameAware
Имя объявляющего bean
BootstrapContextAware
Адаптер ресурсов BootstrapContext, в котором работает контейнер. Обычно доступен только в экземплярах ApplicationContext с поддержкой JCA.
LoadTimeWeaverAware
Определенный weaver для определения класса обработки во время загрузки.
MessageSourceAware
Настраиваемая стратегия для разрешения сообщений (с поддержкой параметризации и интернационализации).
NotificationPublisherAware
Spring JMX издатель уведомлений.
ResourceLoaderAware
Настроенный загрузчик для низкоуровневого доступа к ресурсам.
ServletConfigAware
Текущий ServletConfig, в котором работает контейнер. Действителен только в веб-приложении Spring ApplicationContext.
ServletContextAware
Текущий ServletContext, в котором работает контейнер. Действителен только в веб-приложении Spring ApplicationContext.

Еще раз обратите внимание, что использование этих интерфейсов связывает ваш код с Spring API и не соответствует стилю Inversion of Control. В результате рекомендуется использовать их для компонентов инфраструктуры, которые требуют программного доступа к контейнеру.


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


Комментарии

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

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

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

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