Sobes.tech
Назад к вопросам
Junior — Middle
103

Можно ли реализовать несколькими способами паттерн Singleton в рамках Spring Framework?

Ответ от нейросети

sobes.tech AI

В Spring Framework паттерн Singleton реализуется по умолчанию для бинов, так как scope по умолчанию — singleton. Но можно реализовать Singleton несколькими способами:

  1. Использование Spring Bean с скоупом singleton (по умолчанию):
@Component
public class MySingletonBean {
    // Spring гарантирует единственный экземпляр
}
  1. Реализация классического паттерна Singleton с приватным конструктором и статическим методом:
public class MySingleton {
    private static final MySingleton INSTANCE = new MySingleton();
    private MySingleton() {}
    public static MySingleton getInstance() {
        return INSTANCE;
    }
}
  1. Использование enum для Singleton:
public enum MySingletonEnum {
    INSTANCE;
    // методы
}

В контексте Spring чаще всего достаточно объявить бин с скоупом singleton, но если нужен классический Singleton вне Spring, можно использовать другие способы.