25 top spring mvc interview questions
Najbolj priljubljena spomladanska vprašanja za intervju z MVC z odgovori na vstopni ravni in izkušene kandidate:
Spring je zmogljiv okvir, ki ga razvijalci Java uporabljajo po vsem svetu za razvoj spletne aplikacije Java Enterprise.
Vzmetna stojala MVC za pogled modela in krmilnik. Tako kot drugi ogrodji Struts tudi Spring temelji na tehnologijah J2EE, ki sta JSP in Servlet, skupaj z izvedbo modela vzorca, pogleda in krmilnika.
Tukaj bomo s primeri raziskali najpogostejša vprašanja za intervju z MVC Spring.
Kaj se boste naučili:
kako narediti kup v javi
Spring MVC Arhitektura
Arhitektura MVC ima veliko vgrajenih razredov in komponent, ki so razvijalcem vedno na voljo za razvoj močne in ohlapno povezane aplikacije.
Ohlapno povezani pomeni, da med razredi ne sme biti trdno kodiranih odvisnosti. To pa nalogo naredi precej zapleteno pri spreminjanju kode ali funkcionalnosti aplikacije.
Arhitektura MVC ima svoje neodvisne funkcije. Modelni sloj vključuje vse razrede POJO in pomaga pri vključevanju podatkov. Plast pogleda se uporablja za upodabljanje podatkov, ki so prisotni v plasti modela, in nenehno ustvarja izhodne podatke v obliki HTML za odjemalca, ki ga običajno prejme v spletnem brskalniku.
Končno je krmilnik odgovoren za obdelavo zahtev in izdelavo pravilnega modela in s tem pošlje odgovor v pogled ali predstavitveni sloj.
V tem članku boste prebrali vse pomembne teme Spring MVC, kot je navedeno spodaj:
- Načelo delovanja Spring MVC
- Pomladna arhitektura
- Koncept dispečerskega servleta
- Preslikava upravljavca
- Krmilnik
- Ogled rešitve
- Različni sloji Spring MVC
- Vzmetno jedro, prednosti uporabe Spring MVC
- Vzmetni moduli
- AOP
- Jezik izražanja
- Sloj za dostop do podatkov
- Spletni modul
- Vidiki
- Test itd
- Inverzija nadzora in vbrizgavanje odvisnosti, o datotekah pom.xml.
Oglejmo si prednosti in slabosti spomladanskega MVC !!
Prednosti Spring MVC
Spodaj so navedeni različni profesionalci Spring MVC:
- Ker je zelo majhen, zagotavlja visoko zmogljivost z manj težavami.
- Ima visoko produktivnost, kar posledično povečuje razvoj.
- Je zelo varen, saj uporablja Spring SPI in ga večinoma uporabljajo vse banke za svoje spletne aplikacije.
- Razvijamo lahko modularne aplikacije, saj podpira Model View in arhitekturo krmilnika.
- Podpira popoln testni razvoj, kar je predobro.
- Do zdaj je razvijalcem najbolj primeren za agilne razvojne spletne aplikacije po vsem svetu.
- Ima funkcijo ločevanja odgovornosti in vlog, ki poenostavlja naloge.
- Zagotavlja podporo za storitev RESTful.
- Podpira teme, internacionalizacijo, druge okvire baz podatkov, JPA, več pogledov in podporo skupnosti.
Proti spomladi MVC
Spodaj navedite nekaj slabosti Spring MVC:
- Krivulja učenja okvira Spring in njegove arhitekture MVC je za razvijalce nekoliko zapletena, saj ima malo zapletenih konceptov.
- Pomlad ima spremenjeno naravo, na primer na osnovi XML ali opomb, kar je včasih težko nadaljevati.
- Zelo manj specifikacij za Spring MVC.
- Če datoteka jar ni na voljo, aplikacija ne bo delovala pravilno.
- Zelo velike težave s konfiguracijo, veliko krmilnikov, ki jih je treba obravnavati, veliko razreševalnikov pogledov za nadzor itd.
Najpomembnejša vprašanja za intervju z MVC
Spodaj so navedena najpomembnejša vprašanja za intervju za Spring MVC. Poskusite dobiti koncept vsakega vprašanja, tako da bo zelo koristen pri razlagi anketarju. Vedno poskusite navesti ali primerjati primere aplikacij v realnem času. Te so koristne tudi za izkušene strokovnjake.
V # 1) Kaj je Spring Framework in zakaj je tako priljubljen?
Odgovor: Spring Framework je lahek okvir, ki se uporablja za razvoj ohlapno povezanih spletnih aplikacij Java.
Ponuja vgrajen vsebnik, vbrizganje odvisnosti in arhitekturo MVC. Je zelo priljubljen, saj omogoča ločitev, ponovno uporabo in zagotavlja vzorce oblikovanja, kot so singleton, tovarniške za zmanjšanje dolžine kode itd., Odstranjuje pa šibke povezave in ima močno integracijo s tretjo osebo.
V # 2) Kaj je Spring MVC?
Odgovor: Spring MVC sledi konceptu Model, View in Controller.
Je primerek krmilnika, ki je v skupni rabi in pomaga tudi pri obdelavi več zahtev, ki se izvajajo v vsebnikih Inverzija nadzora, kot so prestrezniki in krmilniki. Vzorec Spring MVC pomaga ločiti vidike aplikacije, ki vključuje logiko vnosa, poslovanja in predstavitve.
V # 3) Katere so bistvene značilnosti Spring Framework?
Odgovor:
Osnovne značilnosti Spring MVC so:
- Sposoben je učinkovito konfigurirati ogrodje in razrede kot fižol. Ločuje tudi funkcionalne vloge in odgovornosti.
- Omogoča opredelitev metode neomejenega krmilnika, zaradi česar je aplikacija zelo prilagodljiva in prilagodljiva.
- Omogoča dobro prilagoditev za preslikavo, vezavo, ločljivost pogleda in validacije.
- Pomaga pri prenosu modela z uporabo zemljevida. Ponuja tudi podporo za hitrost, JSTL, JSP, uporabnik pa lahko prilagodi jezik in ločljivost teme.
- Spring ima lastno knjižnico oznak, ki jo naredi bolj prilagodljivo in podpira vezavo podatkov, teme, fižol z življenjskim ciklom do zahteve HTTP.
V # 4) Pojasnite koncept dispečerskega strežnika.
Odgovor: Dispelcher Servlet je glavni osrednji programček, ki obravnava vse dohodne zahteve HTTP in odgovore. Ima integracijo z Spring IOC in tako omogoča uporabo vseh lastnosti Spring.
Ko dispečerski strežniški programček prejme zahtevo, ga posreduje preslikavi upravljavca za pridobitev ustreznega krmilnika, zdaj pa bo krmilnik poklical pravilno servisno metodo in jo spet poslal nazaj v dispečerski servlet.
Servlet spet pošlje zahtevo razreševalniku pogleda za pridobitev zahtevanega pogleda in nato pošlje odgovor brskalniku odjemalca.
Primer kode za prikaz uporabe strežniškega programčka dispečerja:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp / V # 5) Kakšna je uporaba ContextLoaderListner v Spring MVC?
Odgovor: Uporablja se za branje in razčlenitev konfiguracijske datoteke Spring in obdelavo nalaganja fižolov v tej konfiguracijski datoteki.
Primer kode:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1 V # 6) Pojasnite razred sprednjega krmilnika vzmeti MVC.
Odgovor: Front Controller je odgovoren za obdelavo celotne dohodne zahteve aplikacije. V spomladanskem MVC strežnik dispečerja deluje kot prednji krmilnik in obravnava celotne dohodne zahteve.
V # 7) Pojasnite delovanje @Autowired Annotation.
Odgovor: Pripis @Autowired je odgovoren za vbrizganje fižola po svoji vrsti skupaj s polji in metodami. S tem pomaga spomladanskemu okviru pri reševanju in vbrizganju fižola, ki sodeluje, v naš fižol.
Primer:
package com.SoftwareTestingHelp; import org.Springframework.beans.factory.annotation.Autowired; public class WordEditor { private SpellChecker sp; @Autowired public void setSp( SpellChecker sp ){ this.sp = sp; } public SpellChecker getSp( ) { return sp; } public void spellCheck() { sp.checkSpelling(); } }V # 8) Kakšna je funkcija označevanja atributov modela?
Odgovor: Pripis @ModelAttribute igra ključno vlogo v okviru Spring MVC. Odgovoren je za parameter metode vezave z ustreznim atributom modela in ga nato prikaže na predstavitveni strani.
Odvisno je tudi od tega, kaj razvijalec uporablja v pripisu atributa modela . Če se uporablja na ravni metode, pomeni, da je metoda odgovorna za dodajanje atributov. Ko se uporablja kot parameter, pomeni, da je treba vrednost parametra pridobiti iz sloja modela.
V # 9) Pojasnite koncept in delovanje spremenljivke poti.
Odgovor: @PathVariable je pripis, ki se uporablja kot parameter v metodi obdelovalca za pridobivanje vrednosti predloge URI.
Primer:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }V # 10) Kakšna je funkcija označevanja @RequestBody?
Odgovor: Pripis @RequestBody je odgovoren za vezavo zahteve telesa HTTP na domenski objekt. Dohodna zahteva HTTP se s pomočjo pretvornikov sporočil HTTP samodejno odstrani iz serije Java do predmeta Java.
V # 11) Kakšna je funkcija označevanja @ResponseBody?
Odgovor: Ko se pripomba @ResponseBody uporablja v krmilniku MVC, pomeni, da mora razvijalec napisati vrnjeno vrsto deklarirane metode neposredno v odzivno telo HTTP. V tem primeru priklic modela ni potreben, ime pogleda pa Spring ne interpretira.
V # 12) Zakaj potrebujemo View Resolver v Spring MVC in kaj je notranji razreševalnik pogleda v Spring?
Odgovor: View Resolver je odgovoren za upodabljanje modelov v spletnem brskalniku. Ne zahteva nobenih posebnih tehnologij pogleda, kot so JSP, XML in Velocity itd.
“InternalResourceViewResolver” je notranji razreševalnik pogleda v Spring MVC.
Spodaj je omenjenih nekaj pomembnih razreševalnikov pogledov, kot je navedeno spodaj:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver itd.
V # 13) Pojasnite načelo delovanja Spring MVC Framework.
Odgovor:
Spodnji diagram vam bo pomagal razumeti tok:

Kot vemo, temelji na konceptu Model, View in Controller. Dispatcher Servlet prejme zahtevo HTTP, odvisno od preslikave strežniškega programčka, opravljenega v web.xml.
Ko Dispatch Servlet prejme zahtevo, pošlje isto zahtevo v preslikavo vodnika, da dobi zahtevani razred krmilnika. Preslikava upravljalnika je omenjena v konfiguracijski datoteki Spring.
Zahteva se znova pošlje krmilniku, krmilnik pa obdela zahtevo in metodo ter vrne zahtevani predmet pogleda modela v dispečerski strežniški programček.
Zdaj zahtevo v razreševalnik pogleda pošlje servlet, da dobi predstavitev strani pogleda.
Nazadnje program Dispatcher Servlet posreduje model na predstavitveno stran in se isti upodobi brskalniku odjemalca.
V # 14) Kakšen je namen uporabe BindingResults?
Odgovor: BindingResults je eden od pomnilniških vmesnikov, ki je pod paketom org. Vzmetni okvir .potrditev in se uporablja za predstavitev rezultatov vezave.
Ima priročno vlogo pri odkrivanju napak v oddanih obrazcih. Ima preprost in enostaven postopek priklica. Razvijalec mora imeti v mislih, da rezultat vezave postavi kot parameter takoj po potrditvi predmeta.
Sintaksa:
@PostMapping('/client') public String submitpage(@Valid NewUserPage newUserPage, BindingResult result, Model model) { if (result.hasErrors()) { return 'uHome'; } model.addAttribute('message', 'Valid Page'); return 'uHome'; }Tu bo Spring vzorec razumel tako, da bo prebral pripis @Valid in poskušal najti njegov validator.
V # 15) Pojasnite arhitekturo modela 1 in modela 2 Spring Framework.
Odgovor: To sta dva pomembna modela oblikovanja za razvoj spletnih aplikacij.
Model 1:
Tu dohodno zahtevo obravnava strežniški programček ali JSP. Stran strežniškega programčka ali JSP je odgovorna za obdelavo, obdelavo zahteve, nadzor poslovne logike, preverjanje veljavnosti podatkov in nazadnje za generiranje odziva.
Je enostaven in ima enostavno arhitekturo, v majhnih panogah pa ima prednost pri razvoju preprostih aplikacij.

Model 2:
Je pomemben oblikovalski model in temelji na konceptu Model View Controller. Sposoben je ločiti predstavitev in logični del, ki manipulira s kodo.

Ta model je robusten, zanesljiv in preprečuje podvajanje. Dobro je za gradnjo velikih in zapletenih aplikacij.
V # 16) Pojasnite delovanje vzmetnega prestreznika MVC skupaj z njegovo uporabo.
Odgovor: Prestrezniki igrajo priročno vlogo v Spring MVC. Uporabljajo se za prestrezanje zahteve od odjemalca, obdelavo zahteve v različnih časih, na primer pred obdelavo zahteve, po obdelavi zahteve in po zaključku predstavitvenega dela, tj. Ogled strani itd.
Uporablja se tudi pri medsektorskih vprašanjih in zmanjšuje ponavljanje upravljavca kode, kot je poznejša sprememba globalnih parametrov v modelu, beleženje itd.
V # 17) Ali je dovoljeno uporabljati več konfiguracijskih datotek Spring v Spring MVC?
Odgovor: Da, Spring omogoča več konfiguracijskih datotek v eni aplikaciji.
To lahko v glavnem dosežemo na dva načina, ki so navedeni spodaj:
(i) Razvijalec mora prijaviti vse datoteke v web.xml s parametrom:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring / (ii) Razvijalec lahko datoteke uvozi v obstoječo konfiguracijo.
V # 18) Pojasnite funkcije naslednjih pripisov: @Component, @Controller, @Repository, @Service.
Odgovor: To so pomembne opombe v spomladanskem MVC. Oglejmo si jih.
@Component: Ta pripis je odgovoren za pretvorbo razreda jave v bean, tako da ga Spring prepozna in uporablja v kontekstu aplikacije.
Sintaksa:
@Component public class StudentDAOImpl implements StudentDAO { ... }@Repository: Ta pripis se uporablja enako kot @Component, poleg tega pa upošteva tudi nepreverjene izjeme, ki jih je mogoče uporabiti spomladi.
@Service: Ta pripis pretvori tudi razred jave v bean, vendar je bolje uporabiti pripis @service kot @component, saj zagotavlja boljše specifikacije v aplikaciji v realnem času.
@Controller: Če želimo narediti kateri koli razred kot krmilnik, moramo določiti ta pripis.
V # 19) Kakšna je vloga razdelilnika Multipart in kdaj se uporablja?
Odgovor: Multipart Resolver je odgovoren za nalaganje datoteke v spletno aplikacijo. Dve izvedbi zanj sta commonsMultipartResolver in StandardServletMultipartResolver.
V # 20) Kako Spring MVC nudi podporo za preverjanje veljavnosti?
Odgovor: Spring nudi podporo za preverjanje veljavnosti na dva načina - to je predvsem z uporabo pripisov JSR 303 in vmesnika Validator.
kako odpreti swf datoteke v oknih
V # 21) Kako se doseže lokalizacija v spomladanskih spletnih aplikacijah MVC?
Odgovor: Spring MVC je konfiguriran z LocaleResolver za podporo tako internacionalizaciji kot lokalizaciji. Da bi to omogočili, je treba nekaj fižola registrirati, kot je navedeno spodaj.
SessionLocaleResolver - Za razreševanje področij potrebuje pomoč že definiranih atributov v uporabniški seji.
Sintaksa:
LocaleChangeInterceptor - Uporabno je, če je v dohodni zahtevi prisoten parameter.
Sintaksa:
V # 22) Pojasnite koncept konteksta korenske aplikacije v Spring MVC skupaj z njegovim postopkom nalaganja.
Odgovor: ContextLoaderListner je znan kot kontekst korenske aplikacije v Spring MVC in ga uporablja celotna aplikacija.
To je poslušalec, ki pomaga Spring MVC, da se zažene. Uporablja se za nalaganje in ustvarjanje applicationContext, da se prepreči pisanje eksplicitne kode. Pomladni fižol je definiran v kontekstu aplikacije.

Na splošno se za določanje strežnikov v Spring MVC uporablja dispečerServlet.
V # 23) Kakšna je vloga web.xml v Spring MVC in kje se nahaja?
Odgovor: V web.xml konfiguriramo ContextLoaderListner. Ko razmestimo aplikacijo, primerek ustvari vsebnik Servlet za ContextLoaderListner in nato vodi do nalaganja webApplicationContext.
V # 24) Opišite nekaj vrst vrnitve metode krmilnika.
Odgovor: Nekatere pomembne vrste vrnitve metod krmilnika vključujejo String, void, view, ModelAndView, Model, Map, HttpHeaders itd.
V # 25) Na podlagi česa je izbran pogled v fazi upodabljanja?
Odgovor: ViewResolver v arhitekturi MVC je odgovoren za izbiro zahtevanega pogleda.
Ko krmilnik pošlje odgovor na strežniški programček dispečerja, pošlje zahtevo razreševalniku pogleda za pridobitev pravilne strani pogleda, ki jo je mogoče poslati v odjemalski spletni brskalnik za predstavitev.
V # 26) Kakšna je glavna razlika med komentarji @Requestparam in @PathVariable?
Odgovor: Ti pripisi se uporabljajo za pridobivanje informacij in podatkov iz URL-ja.
Glavna razlika med njima pa je, da se @Requestparam uporablja samo za pridobivanje parametrov poizvedbe, @PathVariable pa za popoln URL.
V # 27) Pojasnite koncept Aspektno usmerjenega programiranja?
Odgovor: AOP je pomemben del Spring MVC Architecture. AOP se uporablja za navzkrižno zaskrbljenost in tudi za aplikacije, preverjanje veljavnosti podatkov, beleženje modulov, upravljanje transakcij, overjanje in predmete.
Obstaja veliko delov Aspektno usmerjenega programiranja. Ti so omenjeni spodaj:
- Vidik: Aspect je odgovoren za medsektorska vprašanja, kot je upravljanje transakcij itd.
- Nasvet: V bistvu gre za dejanje in metodo, ki se izvedeta in se uporablja tudi za določeno točko združevanja.
- Pointcut: Odgovorna je za izvajanje nasvetov v smislu regularnih izrazov.
- Skupna točka: To je točka v aplikaciji za procese, kot so obdelava izjem, izvajanje metode, spreminjanje vrednosti spremenljivk itd.
- Argumenti nasvetov : Ti argumenti se uporabljajo za posredovanje metod.
Zaključek
Upam, da bi iz tega članka dobili popoln pregled arhitekture Spring MVC.
Tukaj smo zajeli celoten pretok Spring MVC od konca do konca. Zakaj potrebujemo Spring MVC? Kateri so različni moduli v arhitekturi MVC? Značilnosti Spring MVC in dispečerskega strežniškega programčka, koncept sprednjega krmilnika, poslušalci in njegova funkcija, različne vrste pripisov, kot so @Autowired, @Controller, @RequestBody itd.
Izvedeli smo tudi več o konceptu View Resolver, postopku AOP in različnih vrstah krmilnika ter njegovi uporabi. Lokalizacija in prestrezniki, različna arhitektura Spring okvira in koncept rezultata vezave skupaj z njegovo uporabo.
Spoznali smo, kaj je Spring vsebnik in kako se uporablja v Spring MVC? Uporaba datotek s konfiguracijami v Spring MVC, odgovornosti in pomembnost spremenljivke poti. itd V tem članku so razložena skoraj vsa najpomembnejša in najbolj pričakovana vprašanja za intervju z MVC.
Vendar je vedno priporočljivo razložiti s primeri kod v aplikaciji v realnem času, da bi zadovoljili pričakovanja anketarja. Za lažje razumevanje so tukaj zajete vse kode, potrebne za vsak koncept.
Želimo vam vse dobro!
Priporočeno branje
- Vprašanja in odgovori za intervju
- 25 najboljših vprašanj in odgovorov za intervju z agilnim testiranjem
- 25+ najbolj priljubljenih vprašanj in odgovorov za intervju z ADO.NET
- Nekaj zapletenih ročnih preizkusov Vprašanja in odgovori
- Vprašanja in odgovori za preizkušanje ETL
- Vprašanja in odgovori za preizkušanje programske opreme (1. del)
- 40+ priljubljenih preizkusnih vprašanj QA Analyst Intervju z vprašanji in odgovori (2021 SEZNAM)
- Najboljših 25 vprašanj in odgovorov za intervjuje s funkcijskim testiranjem