Junior — Middle
Spring, prototip oluşturma modunu kullanırken bean'in yaşam döngüsü üzerinde kontrol sahibi midir?
sobes.tech yapay zeka
AI'dan gelen yanıt
При использовании прототипного (prototype) режима в Spring контейнер создает новый экземпляр бина каждый раз при запросе. Однако Spring не управляет полным жизненным циклом таких бинов: он создает бин и вызывает методы инициализации, но не вызывает методы уничтожения (destroy), так как не отслеживает их после выдачи.
Это значит, что если бин в прототипном режиме требует освобождения ресурсов, то ответственность за вызов методов очистки ложится на разработчика.
Пример:
@Component
@Scope("prototype")
public class MyPrototypeBean {
@PostConstruct
public void init() {
System.out.println("Инициализация прототипного бина");
}
@PreDestroy
public void cleanup() {
System.out.println("Очистка прототипного бина");
}
}
В этом случае метод cleanup не будет вызван автоматически Spring'ом.