Sobes.tech
Back to questions
Middle — Middle+
60

Возможно ли, чтобы один Singleton bean имел несколько инстансов в рамках одного контекста?

Answer from AI

sobes.tech AI

В рамках одного Spring ApplicationContext (контекста) Singleton bean по определению существует в единственном экземпляре. То есть, при запросе этого бина из контекста всегда возвращается один и тот же объект.

Однако, существуют ситуации, когда может показаться, что Singleton bean имеет несколько инстансов:

  • Если используется несколько контекстов (например, родительский и дочерний), то в каждом контексте будет свой экземпляр Singleton бина.
  • При использовании проксирования или фабрик, которые создают новые объекты внутри Singleton бина.
  • Если бин объявлен с другим скоупом (например, prototype), но внедрён в Singleton бин без правильной обработки.

Таким образом, в одном контексте Singleton bean всегда один экземпляр, но в разных контекстах — может быть несколько.