Sobes.tech
Junior — Middle

Agar ilovada nazoratchi ishlatilgan bo'lsa, DispatcherServlet uni aniqlay olmasligi uchun nima uchun?

sobes.tech AI

AIdan javob

DispatcherServlet, agar u kontrolörni Spring kontekstida ro'yxatdan o'tkazilmagan yoki mos annotatsiya bilan belgilangan bo'lmasa, masalan, @Controller yoki @RestController, uni aniqlay olmaydi.

Asosiy sabablar:

  • Kontrolör Spring tomonidan skanerlash uchun paketda emas (component scan uchun basePackages ichida emas).
  • Kontrolör Spring komponenti sifatida annotatsiyalanmagan.
  • Kontrolör qo'lda yaratilgan va Spring konteyneri orqali emas, shuning uchun DispatcherServlet uni bilmaydi.

DispatcherServlet HTTP so'rovlarini marshrutlash uchun ilova kontekstidagi kontrolör beanlarini qidiradi. Agar kontrolör Spring Bean sifatida ro'yxatdan o'tkazilmagan bo'lsa, u e'tiborga olinmaydi.