Назад к вопросам
Junior — Middle
56
Можете объяснить, каким образом реализуются singleton-бины в приложениях?
Ответ от нейросети
sobes.tech AI
Singleton-бин в Java-приложении — это объект, который создаётся в единственном экземпляре и используется во всём приложении. В Spring Framework, например, по умолчанию все бины являются singleton.
Реализация singleton-бина обычно происходит так:
- Класс помечается аннотацией
@Componentили объявляется в конфигурации как бин. - Контейнер Spring создаёт один экземпляр этого класса при старте приложения.
- При запросе бина из контекста возвращается всегда один и тот же объект.
Пример:
import org.springframework.stereotype.Component;
@Component
public class MySingletonBean {
// поля и методы
}
При использовании:
@Autowired
private MySingletonBean mySingletonBean;
mySingletonBean будет ссылаться на один и тот же объект во всём приложении.
Если создавать singleton вручную без Spring, можно использовать паттерн Singleton с приватным конструктором и статическим методом получения экземпляра.