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

Выполнится ли PostBeanProcessor раньше методов @PostConstruct

PostBeanProcessor (например, BeanPostProcessor) выполняется до методов с аннотацией @PostConstruct.

Порядок инициализации бина:

  1. Конструктор
  2. Инъекция зависимостей (@Autowired, @Resource и т.д.)
  3. BeanPostProcessor.postProcessBeforeInitialization()
  4. Методы с @PostConstruct
  5. BeanPostProcessor.postProcessAfterInitialization()

Пример:

java
@Component
public class MyBean {
    @PostConstruct
    public void init() {
        System.out.println("@PostConstruct method");
    }
}

@Component
public class MyBeanPostProcessor implements BeanPostProcessor {
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) {
        System.out.println("Before initialization");
        return bean;
    }
}

Вывод:

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

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

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

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