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

Как задать определенное действие на момент удаления Bean

В Spring можно задать действие на момент удаления бина, используя аннотацию @PreDestroy или реализуя интерфейс DisposableBean.

1. @PreDestroy (рекомендуется):

java
@Component
public class MyBean {
    @PreDestroy
    public void cleanup() {
        System.out.println("Cleaning up resources before destruction");
    }
}

2. DisposableBean (менее гибкий, но работает):

java
@Component
public class MyBean implements DisposableBean {
    @Override
    public void destroy() {
        System.out.println("Destroying bean");
    }
}

Важно:

  • Методы @PreDestroy вызываются перед уничтожением бина контейнером.
  • Для корректной работы нужен правильный scope (например, singleton).
  • В случае prototype бина Spring не управляет его жизненным циклом полностью, и @PreDestroy не вызывается автоматически.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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