Sobes.tech
Back to questions
Junior — Middle
56

Можно ли реализовать более одного экземпляра Singleton в рамках Spring-приложения?

Answer from AI

sobes.tech AI

В рамках Spring-приложения по умолчанию каждый бин с скоупом singleton создаётся в единственном экземпляре на весь контекст приложения. Однако можно иметь несколько разных singleton-бинов — по одному экземпляру каждого класса.

Если же вопрос о нескольких экземплярах одного и того же singleton-бина, то по умолчанию это невозможно, так как Spring гарантирует единственный экземпляр для каждого beanId.

Для создания нескольких экземпляров одного класса нужно использовать другой скоуп, например, prototype, или создавать бины с разными именами и конфигурациями.

Таким образом, в одном приложении может быть много singleton-бинов разных классов, но для каждого класса — только один экземпляр singleton по умолчанию.