Sobes.tech
Назад к вопросам
Senior
7

Какой жизненный цикл у Spring бина?

Компании, где спрашивали
EXPERA

Ответ от нейросети

sobes.tech AI

Жизненный цикл Spring бина включает несколько этапов:

  1. Создание экземпляра — Spring создает объект бина, обычно через конструктор.
  2. Внедрение зависимостей — происходит автосвязывание и установка значений свойств.
  3. Обработка методов обратного вызова — если бин реализует интерфейсы BeanNameAware, BeanFactoryAware и т.п., вызываются соответствующие методы.
  4. Инициализация — вызывается метод, помеченный @PostConstruct или метод afterPropertiesSet() из интерфейса InitializingBean.
  5. Использование бина — бин готов к работе и используется в приложении.
  6. Уничтожение — при завершении контекста вызываются методы @PreDestroy или destroy() из интерфейса DisposableBean.

Пример с использованием аннотаций:

@Component
public class MyBean {

    @PostConstruct
    public void init() {
        // инициализация после внедрения зависимостей
    }

    @PreDestroy
    public void cleanup() {
        // очистка ресурсов перед уничтожением
    }
}