Как prototype scope работает в веб-приложении spring?

Я использую область прототипа в весеннем веб-приложении. В моем веб-приложении несколько пользователей.

a) How to work prototype scope in web application for multiple user.

а также

b) How to work session scope in web application for multiple user.

я хочу подписаться,

 c) I want each user have separate instances, which spring scope is better to use  for my web application.
1
0
215
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

От весенние документы

a) Не-одноэлементная, прототипная область развертывания bean-компонента приводит к созданию нового экземпляра bean-компонента каждый раз, когда делается запрос для этого конкретного bean-компонента (то есть он вводится в другой bean-компонент или запрашивается через программный getBean ( ) вызов метода в контейнере)

б) С областью действия сеанса контейнер Spring создаст новый экземпляр компонента на время существования одного сеанса HTTP.

c) Это зависит от того, будет ли ваш bean-компонент иметь определенную конфигурацию, полученную в результате сеанса регистрации данных пользователя, область видимости будет правильным выбором, если ваш bean-компонент будет иметь постоянную конфигурацию, тогда вы выбираете одноэлементную область видимости, область прототипа полезна для многопоточности. Таким образом, область видимости bean-компонента зависит от того, для чего он используется. Я думаю, что вы не предоставили достаточно информации, чтобы помочь вам выбрать прицел, но я надеюсь, что мои советы помогут.

Я хочу, чтобы у каждого пользователя был отдельный экземпляр компонента конфигурации для нескольких служб.

Kailas Biradar 10.09.2018 11:19

Можете ли вы объяснить мне разницу между прототипом и областью сеанса для нескольких пользователей в веб-приложении

Kailas Biradar 10.09.2018 11:23

Когда пользователь входит в приложение, создается HttpSession, а после этого также создается bean-компонент с областью сеанса (Spring создает новый экземпляр этого bean-компонента каждый раз, когда новый пользователь входит в ваше приложение). В области видимости прототипа bean-компонент создается каждый раз, когда мы запрашиваем этот bean-компонент (независимо от того, входит ли пользователь в приложение или нет).

Kamil W 10.09.2018 11:29

может прототипировать область видимости, созданную отдельным экземпляром bean-компонента для нескольких пользователей.

Kailas Biradar 10.09.2018 11:32

Он создаст отдельный bean-компонент, даже если пользователь не вошел в систему. Предлагаю создать новый вопрос и более подробно описать ваш бизнес-кейс, а потом постараюсь вам больше помочь.

Kamil W 10.09.2018 11:36

Для выбора подходящей области сначала обратите внимание на следующие определения:

Singleton: This scope provides bean definition for only a single instance per Spring IoC container.

  • Использование: используйте одноэлементный bean-компонент, когда вам нужны bean-компоненты без сохранения состояния.
  • пример в реальном мире: подключение к базе данных, объект доступа к данным или репозиторий

Prototype: This provides scope for a single bean definition to create a new instance every time is needed without considering session.The container also does not manage the complete lifecyle of the bean. It initiates, configures and assembles a prototype bean and then hands it over to the client.

  • использование:, когда bean-компонент передает состояние, то есть его состояние. так что у каждого пользователя есть собственное состояние.
  • пример: Сущности.

Request: This provides scope for a bean definition to an HTTP-request.

  • использование: когда информация действительна во время запроса.
  • пример: запрошенные данные поиска

Session: This provides scope for a bean definition to an HTTP-session.

  • использование: когда информация о пользователе действительна в течение всего сеанса.
  • пример: данные карты покупателя, предоставленная информация авторизации

Global-session: This provides scope for a bean definition to an Global HTTP-session.

  • использование: это более или менее похоже на область действия сеанса, однако, если вы рассматриваете эту область в приложении портала, компонент может использоваться совместно всеми портлетами

Можете ли вы предложить мне, как использовать область сеанса?

Kailas Biradar 10.09.2018 11:59

Другие вопросы по теме