Встречается на собеседованиях • сегодня
В чем разница между init() в бинах Singleton и Prototype
Singleton
init() вызывается один раз при создании бина (при старте приложения или при первом обращении, если lazy-init). Так как бин один, метод выполнится единожды.
Prototype
init() вызывается при каждом создании нового экземпляра бина. Поскольку Prototype создает новый объект при каждом запросе, init() будет вызываться каждый раз.
Пример:
java
@Component
@Scope("prototype")
public class PrototypeBean {
@PostConstruct
public void init() {
System.out.println("Prototype init");
}
}
@Component
public class SingletonBean {
@PostConstruct
public void init() {
System.out.println("Singleton init");
}
}Для Singleton init() выведется один раз, для Prototype — при каждом getBean() или инжекте.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы