Junior — Middle
146
Peut-on implémenter le patron Singleton de plusieurs manières dans le cadre de Spring Framework?
Réponse de l'IA
sobes.tech IA
В 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, можно использовать другие способы.