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