Junior — Middle
Ile instancji kontrolera jest tworzonych w Spring MVC podczas jego używania?
sobes.tech AI
Odpowiedź od AI
W Spring MVC kontrolery domyślnie są singletonami, co oznacza, że dla każdego kontrolera tworzona jest dokładnie jedna instancja na cały cykl życia aplikacji. Wynika to z faktu, że kontener Spring zarządza beanami kontrolerów i tworzy je w zakresie singleton, chyba że wyraźnie zaznaczono inaczej.
Takie podejście pozwala na efektywne wykorzystanie zasobów i zapewnia bezpieczeństwo wątkowe przy prawidłowej implementacji kontrolera (bez stanu, zależnego od żądania). Jeśli potrzebny jest inny zakres, np. prototype lub request, można to określić za pomocą adnotacji @Scope.
Przykład:
@Controller
@Scope("singleton") // domyślnie
public class MyController {
// metody obsługi żądań
}