Назад к вопросам
СБЕР
Senior
4
Какой жизненный цикл бина в Spring?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Жизненный цикл бина в Spring включает несколько этапов:
- Создание экземпляра — Spring создает объект бина, обычно с помощью рефлексии.
- Внедрение зависимостей — происходит инъекция зависимостей, указанных в конфигурации.
- Обработка методов обратного вызова (Callback):
- Если бин реализует интерфейс
BeanNameAware, вызывается методsetBeanName(). - Если реализует
BeanFactoryAware, вызываетсяsetBeanFactory(). - Если реализует
ApplicationContextAware, вызываетсяsetApplicationContext().
- Если бин реализует интерфейс
- Обработка аннотаций и конфигураций — например,
@PostConstruct. - Инициализация — вызывается метод
afterPropertiesSet()из интерфейсаInitializingBeanили пользовательский init-метод. - Использование бина — бин готов к работе.
- Уничтожение — при завершении контекста вызывается метод
destroy()из интерфейсаDisposableBeanили пользовательский destroy-метод.
Пример инициализации бина с пользовательским init-методом:
@Component
public class MyBean {
@PostConstruct
public void init() {
// код инициализации
}
}