BeanPostProcessor путаница

Я пытаюсь понять BeanPostProcessor весной, и я не понимаю, что он делает. Верно ли, что BeanPostProcessor определяет два метода, которые вызываются в этих точках:

Перед инициализацией (либо методом init, либо afterPropertiesSet), но экземпляр создан.После вызова метода init или afterPropertiesSet

Это правильно? Приведенный пример и текст на странице 118 и далее сбивают с толку. Я не думаю, что мне разрешено копировать больше текста из вопроса, но аннотации и то, что там происходит, трудно понять.

И вы должны реализовать этот интерфейс на бинах, которые вы хотите, или вы должны использовать его на бине, который является общим для многих бинов? Я вижу, что вы получаете и объект и строковый аргумент.

Иногда вы можете оказаться в положении, когда вам необходимо выполнить некоторую дополнительную обработку непосредственно до и после того, как Spring создаст экземпляр компонента. Обработка может быть такой же простой, как изменение компонента, или такой сложной, как возвращение совершенно другого объекта! Интерфейс BeanPostProcessor имеет два метода: postProcessBeforeInitialization, который вызывается до того, как Spring вызывает любые перехватчики инициализации компонента (такие как InitializingBean.afterPropertiesSet или init-метод), и postProcessAfterInitialization, который Spring вызывает после успешного завершения перехватов инициализации.

Pro Spring 2.5, страница 118

Ответы на вопрос(2)

Ваш ответ на вопрос