Назад к вопросам
Junior — Middle
103
Можно ли реализовать несколькими способами паттерн Singleton в рамках Spring Framework?
Ответ от нейросети
sobes.tech AI
В Spring Framework паттерн Singleton реализуется по умолчанию для бинов, так как scope по умолчанию — singleton. Но можно реализовать Singleton несколькими способами:
- Использование Spring Bean с скоупом singleton (по умолчанию):
@Component
public class MySingletonBean {
// Spring гарантирует единственный экземпляр
}
- Реализация классического паттерна Singleton с приватным конструктором и статическим методом:
public class MySingleton {
private static final MySingleton INSTANCE = new MySingleton();
private MySingleton() {}
public static MySingleton getInstance() {
return INSTANCE;
}
}
- Использование enum для Singleton:
public enum MySingletonEnum {
INSTANCE;
// методы
}
В контексте Spring чаще всего достаточно объявить бин с скоупом singleton, но если нужен классический Singleton вне Spring, можно использовать другие способы.