Sobes.tech
Back to questions
Junior — Middle
67

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

Answer from AI

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 берет на себя управление жизненным циклом и гарантирует, что бин будет синглтоном в пределах контекста приложения.