Подтвердить что ты не робот

Жизненный цикл контроллера в Spring MVC

Каков жизненный цикл контроллера в Spring MVC?

Когда создается контроллер, когда он уничтожается? Разделяется ли он между несколькими потоками? Может ли он использоваться одновременно несколькими запросами.

4b9b3361

Ответ 1

Здесь вид жизненного цикла:

http://www.flickr.com/photos/[email protected]/89101625/sizes/l/

Да, они разделяются потоками/запросами; вы должны написать им, чтобы они были потокобезопасными. Они должны быть без гражданства. Обычно они ссылаются на службу Spring, которая выполняет всю работу. Контроллеры обрабатывают привязку, проверку и маршрутизацию для веб-уровня.

Ответ 2

Контроллеры - это просто beans, они могут быть одиночными или прототипами, это зависит от того, что вы пытаетесь сделать. Если вы хотите использовать прототип statefulness, по умолчанию они singleton.

http://www.digizenstudio.com/blog/2006/10/09/spring-controllers-with-prototype-scope/

Ответ 3

Все контроллеры Spring MVC являются одноточечными. Как и другие обычные синглтон beans, экземпляр контроллеров будет создан после начала контекста веб-приложения и расположен до его конца.

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