Middle+
84
questionbank

Есть ли возможность создать два Singleton'а в Spring?

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

Да, можно:

  1. Разные контексты: Каждый контекст Spring (например, два AnnotationConfigApplicationContext) будет управлять своим набором бинов, включая синглтоны. В каждом контексте будет свой экземпляр синглтона.

    java
    java
    java
  2. Разные бин IDs (если бин определен несколько раз): Если один и тот же класс зарегистрирован в одном контексте под разными бин ID, Spring по умолчанию создаст отдельный синглтон для каждого ID. Это не совсем "два Singleton'а этого класса", а скорее два разных бина, каждый из которых имеет область видимости Singleton и использует один и тот же класс реализации.

    java
    java

Несмотря на возможности, стандартное и наиболее частое использование Singleton в Spring подразумевает один экземпляр бина определенного класса в рамках одного ApplicationContext.