2009-09-26 12 views
37

¿Cuál es el ciclo de vida de un controlador en Spring MVC?Ciclo de vida del 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?

Respuesta

25

Aquí es una visión del ciclo de vida:

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

Sí, están 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.

9

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.

Cuestiones relacionadas