Когда использовать Spring Prototype против запроса против области действия сеанса? Любой пример из реальной жизни - PullRequest
1 голос
/ 27 января 2020

Я хочу знать, когда я должен точно использовать прототип , request и session в Spring? Я понял, что singleton возвращает тот же экземпляр объекта, если запрашивается bean-компонент.

Тогда почему мы должны рассматривать другие области действия пружины?

Пояснения с примерами очень помогли бы чтобы понять необходимость этого.

1 Ответ

2 голосов
/ 27 января 2020

Вот объяснение областей применения Spring bean с соответствующими примерами:

Прототип

Что-> каждый раз для каждого запроса он предоставляет различный экземпляр
Когда ваш бин содержит состояние (т.е. атрибуты объекта), которое вы хотите сохранить изолированным, и вы хотите быть уверенным, что оно не будет повторно использовано при следующем запросе

Запрос

Что-> каждый раз для каждого HTTP-запроса он предоставляет различный экземпляр, доступный только в контексте веб-приложения
Когда-> ваш бин моделирует входящую сущность (т. Е. Объект Product), которая вам нужна захватить и обработать в этом веб-запросе

Сеанс

Что-> он предоставляет разные экземпляры для каждого сеанса HTTP, доступные только в контексте веб-приложения
Когда -> локальное кэширование, связанное с указанным c пользователем, например ShoppingBasket или UserSession, вы обычно называете это приложением с состоянием

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...