Middle
40
questionbank

Что произойдет, если попытаться получить один и тот же бин из ApplicationContext?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Если бин имеет область видимости (scope) singleton (по умолчанию), то при каждом запросе к ApplicationContext будет возвращаться один и тот же экземпляр объекта.

Если бин имеет область видимости prototype, то при каждом запросе будет создаваться и возвращаться новый экземпляр объекта.

Другие области видимости (например, request, session в веб-приложениях) также влияют на то, какой экземпляр бина будет получен.

Пример для singleton:

java

Получение бина несколько раз:

java

В консоли будет напечатано только одно сообщение создания экземпляра: SingletonBean instance created: 1.

Пример для prototype:

java

Получение бина несколько раз:

java

В консоли будет напечатано два сообщения создания экземпляра: PrototypeBean instance created: 1 и PrototypeBean instance created: 2.

Таким образом, результат получения одного и того же бина зависит от его области видимости, определенной в конфигурации Spring.