Junior — Middle
Πόσα αντίγραφα του ελεγκτή δημιουργούνται στο Spring MVC κατά τη χρήση του;
sobes.tech AI
Απάντηση από AI
Στο Spring MVC, οι ελεγκτές είναι από προεπιλογή singleton, δηλαδή δημιουργείται ακριβώς ένα στιγμιότυπο για κάθε ελεγκτή καθ' όλη τη διάρκεια ζωής της εφαρμογής. Αυτό οφείλεται στο γεγονός ότι το κοντέινερ Spring διαχειρίζεται τα beans των ελεγκτών και τα δημιουργεί με scope singleton, εκτός αν δηλωθεί διαφορετικά.
Αυτή η προσέγγιση επιτρέπει την αποδοτική χρήση πόρων και διασφαλίζει την ασφάλεια σε περιβάλλοντα πολλαπλών νημάτων όταν ο ελεγκτής υλοποιείται σωστά (χωρίς κατάσταση, εξαρτώμενος από το αίτημα). Αν απαιτείται διαφορετικό scope, όπως prototype ή request, αυτό μπορεί να δηλωθεί με την ανότατη @Scope.
Παράδειγμα:
@Controller
@Scope("singleton") // προεπιλογή
public class MyController {
// μέθοδοι επεξεργασίας αιτημάτων
}