Руководство по Spring. Интерфейс BeanPostProcessor.

Интерфейс BeanPostProcessor имеет всего два метода:

– postProcessBeforeInitialization
– postProcessAfterInitialization

Интерфейс BeanPostProcessor

BeanPostProcessor

Они позволяют разработчику самому имплементировать некоторые методы бинов перед инициализацией и после уничтожения экземпляров бина.
Имеется возможность настраивать несколько имплементаций BeanPostProcessor, и определить порядок их выполнения.

Данный интерфейс работает с экземплярами бинов, а это означает, что Spring IoC создаёт экземпляр бина, а затем BeanPostProcessor с ним работает.

ApplicationContext автоматически обнаруживает любые бины, с реализацией BeanPostProcessor и помечает их как “post-processors” для того, чтобы создать их определённым способом.

Чтобы лучше понять, что это такое на практике, рассмотрим пример.

Пример:

Исходный код проекта можно скачать по ЭТОЙ ССЫЛКЕ.

Структура проекта:

postProcessorProjectStructure

Класс Message.java

MessageClass

Класс BeanPostProcessorImpl.java

BeanPostProcessorImpl

Конфигурационный файл post-processor-config.xml

post-porcessor-config.xml

Класс MessageWithPostBeanProcessorRunner.java

MessageWithPostBeanProcessorRunner

Результат работы программы:

beanPostProcessorResult

Сегодня мы изучили основы  интерфейса PostBeanProcessor и написали простое приложение с использованием его имплементации.