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

Для чего нужен BeanPostProcessor

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

Основные методы:

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

Пример использования:

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

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

Применяется для:

  • Внедрения прокси (AOP)
  • Валидации бинов
  • Изменения свойств бина динамически
  • Логирования жизненного цикла бинов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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