Sobes.tech
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ń
}