Contrôleur de cycle de vie dans Spring MVC
Qu'est-ce que le cycle de vie d'un Contrôleur Spring MVC?
Lorsque le programmateur est créé, lorsqu'il est détruit? Est-il partagé entre plusieurs threads? Peut-il être utilisé simultanément par plus d'une demande.
Vous devez vous connecter pour publier un commentaire.
Voici un point de vue du cycle de vie:
http://www.flickr.com/photos/60896767@N00/89101625/sizes/l/
Oui, ils sont partagés par les threads/demandes; vous devriez écrire à être thread-safe. Ils devraient être apatrides. Ils ont généralement une référence à un Ressort de service qui fait tout le travail. Les contrôleurs de la poignée de liaison, de validation et de routage de la couche web.
Contrôleurs sont juste haricots, ils peuvent être singleton ou prototype, cela dépend de ce que vous essayez de faire. Si vous voulez statefulness utilisation prototype, par défaut, ils sont singleton.
http://www.digizenstudio.com/blog/2006/10/09/spring-controllers-with-prototype-scope/
Tous les contrôleurs de Spring MVC sont singleton. D'autres singleton, des haricots, de l'instance de contrôleurs sera créé après le début du contexte d'application web et éliminés avant la fin de celui-ci.
Même vous indiquer d'autres de la portée (par exemple, prototype) pour le contrôleur de haricot définition, parce que le printemps est une sorte de mémoire cache pour les contrôleurs de performance, seule la première des acquis de l'instance de contrôleur sera utilisé à plusieurs reprises.