1

Je suis nouveau au printemps MVC et je voudrais savoir comment il gère les demandes, plus précisément:printemps @Controller cycle de vie

  1. Je voudrais savoir comment un printemps @ cycle de vie du contrôleur se rapporte à que de un servlet?
  2. Je voudrais également mieux comprendre quelles sont les meilleures pratiques pour multi-thread enviornments (par exemple comme dans Servlets, sont de classe attributs visibles à plusieurs requêtes HTTP sous forme d'objets sont réutilisés de la piscine)?

Répondre

6

Un contrôleur (comme n'importe quel haricot de printemps) a une portée. Au mieux, vos contrôleurs devraient être de portée singleton

Dans ce cas, il est très semblable à servlets, et:

  • ils sont créés qu'une seule fois, lors du démarrage de contexte d'applications (et détruit lorsque le contexte est détruit)
  • vous devriez pas utiliser de variables d'instance (comme ce n'est pas thread-safe)

Si votre champ de commande est request ou session, alors vous pouvez avoir des variables d'instance et une instance du contrôleur est créé à chaque nouvelle demande/session.