Назад к вопросам
Junior — Middle
60
Каким образом можно реализовать регистрацию паттерна Singleton в современном контейнере зависимостей?
Ответ от нейросети
sobes.tech AI
В современных контейнерах зависимостей (например, Spring, CDI) паттерн Singleton реализуется через конфигурацию контейнера, который управляет жизненным циклом объекта и гарантирует, что будет создан только один экземпляр.
В Spring, например, по умолчанию бины являются синглтонами. Достаточно объявить бин:
@Component
public class MySingletonService {
// логика
}
Контейнер создаст один экземпляр MySingletonService и будет использовать его везде, где требуется.
Если бин создается вручную, можно указать область синглтона:
@Bean
@Scope("singleton")
public MySingletonService mySingletonService() {
return new MySingletonService();
}
Таким образом, регистрация синглтона сводится к объявлению компонента с областью singleton, а контейнер сам гарантирует единственность экземпляра и управление его жизненным циклом.