Для чего нужны методы before и after в Spring BeanPostProcessor?

175
10 декабря 2019, 19:00

Смотрел лекции Евгения Борисова "Spring Потрошитель", как я понял к этапу BeanPostProcessor бин уже создан,и выполняется его донастройка, никто технически не запрещает "накрутить" прокси в методе, что выполняется до @PostConstruct (postProcessBeforeInitialization), но прокси принято навязывать в postProcessAfterInitialization, так как PostConstruct должен действовать именно на наш объект, а не на прокси. Но мне все-же непонятно, зачем нужна вся эта каша с init-методом, почему нельзя просто сделать конструктор, который заменит postProcessBeforeInitialization, зачем между ними нужен init-метод тоже не понимаю, прошу объяснить пожалуйста.

Answer 1
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).

READ ALSO
Exception in thread “main” java.lang.ClassNotFoundException: org.h2.Driver

Exception in thread “main” java.lang.ClassNotFoundException: org.h2.Driver

я новичок в Java, мне в универе надо сделать приложение, связаное с бдя на одном сайте нашел код, скопировал его, но он не заработал (выдал мне...

165
selenium (multilogin) - finished with exit code 1

selenium (multilogin) - finished with exit code 1

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

160
Список из изображений в android

Список из изображений в android

Возможно ли из этого вместо текстового списка, сделать список из изображений?

202