Когда использовать bean-объекты области запроса по сравнению с синглтон-компонентами для контроллеров в Spring MVC - PullRequest
0 голосов
/ 17 августа 2011

Требуется ли гарантировать, что контроллеры являются поточно-ориентированными?

Если приведенный выше случай верен, тогда необходимо пройти через издержки создания бина для каждого запроса, а не заставлять код контроллера не полагатьсяпо переменным экземпляра?

Ответы [ 2 ]

3 голосов
/ 17 августа 2011

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

Использование контроллеров в области запросов (или других bean-объектов в области запросов) является специальным требованием, которое следует использовать только в том случае, если у вас есть для этого веские основания, т. Е. У вас есть bean-компоненты, состояние которых должно быть частным для жизненного цикла этого конкретного запроса. .

0 голосов
/ 17 августа 2011

Запрашиваемые bean-компоненты - это недолговечные экземпляры класса, они будут созданы при поступлении нового запроса.

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

Я бы предпочел по возможности запрашивать bean-объекты bean-объекта в веб-приложении.

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