java - requestmapping - Ciclo de vida del controlador en Spring MVC
para que sirve spring mvc (3)
¿Cuál es el ciclo de vida de un controlador en Spring MVC?
¿Cuándo se crea el controlador, cuando se destruye? ¿Se comparte entre múltiples hilos? ¿Puede ser utilizado simultáneamente por más de una solicitud?
Aquí hay una vista del ciclo de vida:
http://www.flickr.com/photos/60896767@N00/89101625/sizes/l/
Sí, son compartidos por hilos / solicitudes; deberías escribirlos para que sean seguros para subprocesos. Deben ser apátridas. Por lo general, tienen una referencia a un servicio de Spring que hace todo el trabajo. Los controladores manejan el enlace, la validación y el enrutamiento para el nivel web.
Los controladores son solo frijoles, pueden ser simples o prototipos, depende de lo que estás tratando de hacer. Si quiere un prototipo de uso de estado, de forma predeterminada son singleton.
http://www.digizenstudio.com/blog/2006/10/09/spring-controllers-with-prototype-scope/
Todos los controladores de Spring MVC son singleton. Como otros beans singleton normales, la instancia de controladores se creará después del inicio del contexto de la aplicación web y se eliminará antes de que finalice.
Incluso usted especifica otro alcance (por ejemplo, prototipo) para la definición de bean controlador, porque spring tiene algún tipo de caché para controladores de rendimiento, solo la primera instancia adquirida de controlador se usará repetidamente.