Встречается на собеседованиях • сегодня
Можно ли вмешаться в жизненный цикл бина и кастомизировать его поведение на каком-либо этапе
Да, можно кастомизировать жизненный цикл бина в Spring. Основные способы:
- Аннотации жизненного цикла:
java
@PostConstruct
public void init() {
// логика после инициализации
}
@PreDestroy
public void cleanup() {
// логика перед уничтожением
}- Реализация интерфейсов:
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.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы