Интерфейс BeanPostProcessor имеет всего два метода:
– postProcessBeforeInitialization
– postProcessAfterInitialization
Интерфейс BeanPostProcessor
Они позволяют разработчику самому имплементировать некоторые методы бинов перед инициализацией и после уничтожения экземпляров бина.
Имеется возможность настраивать несколько имплементаций BeanPostProcessor, и определить порядок их выполнения.
Данный интерфейс работает с экземплярами бинов, а это означает, что Spring IoC создаёт экземпляр бина, а затем BeanPostProcessor с ним работает.
ApplicationContext автоматически обнаруживает любые бины, с реализацией BeanPostProcessor и помечает их как “post-processors” для того, чтобы создать их определённым способом.
Чтобы лучше понять, что это такое на практике, рассмотрим пример.
Пример:
Исходный код проекта можно скачать по ЭТОЙ ССЫЛКЕ.
Структура проекта:
Класс Message.java
Класс BeanPostProcessorImpl.java
Конфигурационный файл post-processor-config.xml
Класс MessageWithPostBeanProcessorRunner.java
Результат работы программы:
Сегодня мы изучили основы интерфейса PostBeanProcessor и написали простое приложение с использованием его имплементации.