Xml configuration
Java-based configuration
Description
@ComponentScan()
Tekshirish bazaviy paketdan boshlanadi va
barcha kontrollerlarni, repository, service,
bean va boshqalarni qayd qiladi
@EnableWebMvc
Spring MVC ni yoqish uchun annotatsiya
Spring config file
@Configuration
Spring MVC ilovalari uchun konfiguratsiya
fayli sifatida muomala qilishini ta`minlaydi.
Spring MVC annotations
@Controller
Springda
@Controller
annotatsiyasi
ham
@Component
annotatsiyasining
ixtisoslashuvidir . @Controller izohi ma`lum bir class boshqaruvchisi rolini
bajarishini bildiradi. Spring Controller izohi odatda @RequestMapping izohiga
asoslangan izohli ishlov berish methodlari bilan birgalikda ishlatiladi. U faqat
classlarga qo`llanilishi mumkin. U classni web-so`rovni ishlov beruvchi sifatida
belgilash uchun ishlatiladi. U asosan
Spring MVC
ilovalarida ishlatiladi. Ushbu izoh
izohlangan class uchun stereotip bo`lib, uning rolini ko`rsatadi. Dispatcher
xaritalangan
methodlar
uchun
bunday
izohli
classlarni
skanerlaydi
va @RequestMapping izohlarini aniqlaydi.
@Controller
@RequestMapping
Biz ushbu izohdan Spring MVC Controllerda veb-so`rov methodlarini xaritalash uchun
foydalanamiz . Biz uni mavjud atributlari yordamida ham sozlashimiz mumkin:
•
method: HTTP
so`rov usullaridan birini bildiradi –
PUT, GET, POST, DELETE, PATCH
•
value:
xaritalangan
URL
•
params
:
HTTP
parametrlari asosida so`rovni filtrlaydi
•
headers
:
HTTP
sarlavhalari asosida so`rovni filtrlaydi
•
produces: HTTP
javoblarining media turini belgilaydi
•
consumes: HTTP
so`rovining media turini belgilaydi
@RequestMapping annotatsiyasi class va methodlarning ustiga qo`yilishi mumkin.
@RequestMapping
Spring 4.3 dan boshlab @RequestMapping turli xil HTTP methodlari uchun bir nechta
variantlarni taklif qiladi . Bularga @GetMapping, @PutMapping, @PostMapping,
@DeleteMapping va @PatchMatching kiradi.
@RequestMapping
@PathVariable
Method parametrini yo`l yoki URIdagi o`zgaruvchilardan biriga
bog`lashimiz mumkin . Buning uchun @PathVariable dan foydalanamiz:
@PathVariable
Shuningdek, biz yo`l o`zgaruvchisini ixtiyoriy deb belgilashni
tanlashimiz mumkin, bu esa " false " talab qiladi :
@RequestParam
Ushbu izoh yordamida biz HTTP so`rovi parametrini method
parametriga bog`lashimiz mumkin :
Biz @RequestParam ga default qiymatni ham berishimiz mumkin. So`rov
parametrining etishmayotgan qiymati uchun default qiymat ishlatiladi:
@RequestParam
@RequestBody
@RequestBody mvc frameworkining izohlaridan biri bo`lib, methodga kirib keluvchi
ob`ektni ketma-ketlashtirish va seriyadan chiqarishni amalga oshirish uchun
kontrollerda ishlatilishi mumkin. Agar siz @RequestBody bilan methodlar parametriga
izoh qo`ysangiz, Spring kiruvchi so`rov tanasining mazmunini tezda parametr
ob`ektingizga
aylantirishga
harakat
qiladi.
Oddiy
qilib
aytganda, @RequestBody izohi HttpRequest tanasini uzatish yoki domen ob`ektiga
moslashtiradi, bu esa kiruvchi HttpRequest tanasini Java ob`ektiga avtomatik
ravishda seriyasizlashtirish imkonini beradi.
Bunda Jsondan Java objectiga o`girishni
misol keltirsak bo`ladi.
@RequestBody
@ModelAttribute
Springning @ModelAttribute annotatsiyasi method parametri yoki methodning
qaytish qiymatini ko`rish sahifasida keyinchalik ishlatilishi mumkin bo`lgan
nomlangan model atributiga ulash uchun ishlatiladi.
SpringMVC da @ModelAttribute 2 joyda ishlatiladi.
1. Method darajasida
2. Method parametr darajasida.
Method darajasida @ModelAttribute
Method attribute darajasida @ModelAttribute
E`TIBORINGIZ UCHUN RAHMAT!
|