Есть неприятная ловушка для тех, кто только изучает Spring: слово
singleton звучит так, будто объект один, значит с ним всё безопасно. На деле Spring просто создаёт один bean на приложение. Если несколько запросов одновременно меняют поля этого объекта, они всё равно могут перетереть данные друг друга.В разборе на DEV показывают основные scope’ы: singleton, prototype, request и session. Scope — это правило, как долго живёт объект и когда Spring создаёт новый экземпляр. Самая полезная часть здесь не в заучивании названий, а в понимании простого правила: сервисы лучше держать без состояния, а данные запроса хранить отдельно.
Хороший материал, если уже трогали Spring и хотите понять, почему «работает локально» иногда разваливается под нагрузкой.
#spring #java