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

Что такое BeanPostProcessor

BeanPostProcessor — это интерфейс в Spring, позволяющий вмешиваться в процесс инициализации бинов до/после их создания.

Два ключевых метода:

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

Пример:

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;
    }
}

Использование:

  • Валидация/модификация бинов.
  • Добавление прокси (например, для AOP).
  • Логирование или мониторинг.

Важно: BeanPostProcessor применяется ко всем бинам в контексте. Для выборочной обработки проверяйте beanName или класс бина.

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

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

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

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