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

Можно ли вмешаться в жизненный цикл бина и кастомизировать его поведение на каком-либо этапе

Да, можно кастомизировать жизненный цикл бина в Spring. Основные способы:

  1. Аннотации жизненного цикла:
java
@PostConstruct
public void init() {
    // логика после инициализации
}

@PreDestroy
public void cleanup() {
    // логика перед уничтожением
}
  1. Реализация интерфейсов:
java
@Component
public class MyBean implements InitializingBean, DisposableBean {
    @Override
    public void afterPropertiesSet() {
        // аналог @PostConstruct
    }
text
@Override
public void destroy() {
    // аналог @PreDestroy
}

}

text

3. **BeanPostProcessor** - для кастомизации всех бинов:
```java
@Component
public class CustomBeanPostProcessor implements BeanPostProcessor {
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) {
        // логика до инициализации
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) {
        // логика после инициализации
        return bean;
    }
}

Выбор способа зависит от конкретной задачи. Для одного бина - аннотации, для глобальной логики - BeanPostProcessor.

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

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

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

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