Junior — Middle
¿Spring tiene control sobre el ciclo de vida del bean cuando se usa el modo de creación de prototipos?
sobes.tech AI
Respuesta de la IA
При использовании прототипного (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'ом.