Смотрел лекции Евгения Борисова "Spring Потрошитель", как я понял к этапу BeanPostProcessor бин уже создан,и выполняется его донастройка, никто технически не запрещает "накрутить" прокси в методе, что выполняется до @PostConstruct (postProcessBeforeInitialization), но прокси принято навязывать в postProcessAfterInitialization, так как PostConstruct должен действовать именно на наш объект, а не на прокси. Но мне все-же непонятно, зачем нужна вся эта каша с init-методом, почему нельзя просто сделать конструктор, который заменит postProcessBeforeInitialization, зачем между ними нужен init-метод тоже не понимаю, прошу объяснить пожалуйста.
public interface BeanPostProcessor {
Object postProcessBeforeInitialization(Object bean, String beanName)
throws BeansException;
Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException;
}
Оба вернут бин, но before делает это до init-метода, а after, как вы понимаете, после init-метода. Вызывая BeanPostProcessor для донастройки, учитывайте, что она (донастройка) идет после init (postProcessAfterInitialization).
Продвижение своими сайтами как стратегия роста и независимости