Встречается на собеседованиях • сегодня

Как работает BeanPostProcessor в Spring

BeanPostProcessor — это интерфейс в Spring, позволяющий выполнять кастомную логику до и после инициализации бинов. Он предоставляет два метода:

  1. postProcessBeforeInitialization — вызывается перед вызовом методов @PostConstruct, InitializingBean.afterPropertiesSet().
  2. postProcessAfterInitialization — вызывается после инициализации бина.

Пример:

java
@Component
public class CustomBeanPostProcessor implements BeanPostProcessor {
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) {
        System.out.println("Before init: " + beanName);
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) {
        System.out.println("After init: " + beanName);
        return bean;
    }
}

Используется для:

  • Валидации бинов.
  • Проксирования (например, в Spring AOP).
  • Изменения свойств бина перед использованием.

Важно: BeanPostProcessor применяется ко всем бинам в контексте, поэтому нужно фильтровать по beanName или классу.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы