Sobes.tech
Back to questions
Senior
3

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

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

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

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

Пример инициализации бина с пользовательским init-методом:

@Component
public class MyBean {
    @PostConstruct
    public void init() {
        // код инициализации
    }
}