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

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

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

sobes.tech AI

В Spring Framework паттерн Singleton реализуется по умолчанию для бинов. Это значит, что если вы объявляете компонент с помощью аннотаций @Component, @Service, @Repository или через XML-конфигурацию, то Spring создаст единственный экземпляр этого бина и будет использовать его везде, где он требуется.

Пример:

@Service
public class MySingletonService {
    public void doSomething() {
        System.out.println("Singleton service is working");
    }
}

При внедрении этого сервиса в другие компоненты через @Autowired вы всегда получите один и тот же экземпляр.

Если нужно явно указать скоуп, можно использовать аннотацию @Scope("singleton"), но это не обязательно, так как singleton — скоуп по умолчанию.

Таким образом, Spring берет на себя управление жизненным циклом и гарантирует, что бин будет синглтоном в пределах контекста приложения.