Если бин имеет область видимости (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.