Back to questions
Middle
9
Расскажи про жизненный цикл бина в Spring.
Companies where asked
Лоция
Answer from AI
sobes.tech AI
Жизненный цикл бина в Spring начинается с создания экземпляра класса, который управляется контейнером Spring. Основные этапы:
- Создание бина — контейнер создает объект, используя конструктор.
- Внедрение зависимостей — Spring внедряет необходимые зависимости (через конструктор, сеттеры или поля).
- Обработка интерфейсов BeanNameAware, BeanFactoryAware и др. — если бин реализует эти интерфейсы, Spring вызывает соответствующие методы для передачи контекста.
- Вызов методов @PostConstruct или init-method — после установки всех свойств вызываются методы инициализации.
- Использование бина — бин готов к работе и используется в приложении.
- Завершение работы — при завершении работы контейнера вызываются методы @PreDestroy или destroy-method для очистки ресурсов.
Пример с использованием аннотаций:
@Component
public class MyBean {
@PostConstruct
public void init() {
System.out.println("Инициализация бина");
}
@PreDestroy
public void cleanup() {
System.out.println("Очистка перед уничтожением");
}
}
Таким образом, Spring управляет полным циклом жизни бина, обеспечивая создание, инициализацию, использование и уничтожение.