Middle
40
questionbank

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

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

По умолчанию, если бин определен в ApplicationContext как синглетон (что является дефолтным scope), при каждом вызове метода getBean() для этого бина будет возвращаться один и тот же экземпляр объекта. Spring сам управляет жизненным циклом синглтон-бинов, создавая их один раз и кэшируя.

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

Проверка scope можно сделать так:

java

Если MyService имеет scope singleton, вывод будет true. Если prototype, вывод будет false.

В случае других scopes (request, session, application, websocket) поведение зависит от контекста выполнения (например, веб-запроса или сессии).