25 top spring mvc interview questions
Najpopularnija proljetna pitanja s intervjua za MVC s odgovorima za početnike i iskusne kandidate:
Proljeće je moćan okvir koji Java programeri koriste u cijelom svijetu za razvoj Java Enterprise Web aplikacije.
Proljetni MVC stalci za prikaz modela i kontroler. Baš kao i drugi framework Struts, Spring se također temelji na J2EE tehnologijama koje su JSP i Servlet, zajedno s implementacijom dizajnerskog uzorka Model, View i Controller.
Ovdje ćemo istražiti najčešće postavljana pitanja za proljetni MVC intervju s primjerima.
Što ćete naučiti:
kako stvoriti Java aplikaciju u eclipse - u
Proljetna MVC arhitektura
MVC arhitektura ima mnogo ugrađenih klasa i komponenata koje su programerima uvijek na raspolaganju za razvoj jake i labavo povezane aplikacije.
Labavo povezani znače da između klasa ne bi trebalo biti teško kodiranih ovisnosti. To, pak, čini zadatak prilično složenim kada je riječ o promjeni koda ili funkcionalnosti aplikacije.
MVC arhitektura ima svoje neovisne funkcije. Sloj modela uključuje sve POJO klase i pomaže u inkapsulaciji podataka. Sloj pregleda koristi se za prikazivanje podataka prisutnih u sloju modela i on neprestano generira izlaz u HTML formatu za klijenta koji ga obično prima u web pregledniku.
Konačno, kontrolor je odgovoran za obradu zahtjeva i izgradnju ispravnog modela i na taj način šalje odgovor na sloj prikaza ili prezentacije.
U ovom ćete članku prolaziti kroz sve važne teme proljetnog MVC-a kako je spomenuto u nastavku:
- Princip rada opružnog MVC-a
- Proljetna arhitektura
- Koncept dispečerskog servleta
- Mapiranje rukovatelja
- Kontroler
- Prikaz rješenja
- Različiti slojevi proljetnog MVC-a
- Jezgra opruge, prednosti korištenja opruge MVC
- Opružni moduli
- AOP
- Jezik izraza
- Sloj pristupa podacima
- Web modul
- Aspekti
- Test itd
- Inverzija kontrole i ubrizgavanje ovisnosti, o datotekama pom.xml.
Pogledajmo prednosti i nedostatke proljetnog MVC-a !!
Pros proljetni MVC
U nastavku su navedeni razni profesionalci proljetnog MVC-a:
- Budući da je vrlo mali, donosi visoke performanse s manje problema.
- Ima visoku produktivnost što zauzvrat povećava razvoj.
- Izuzetno je siguran jer koristi Spring SPI i uglavnom ga koriste sve banke za svoje web aplikacije.
- Možemo razvijati modularne aplikacije jer podržava model View i arhitekturu kontrolera.
- Podržava cjeloviti testni razvoj, što je predobro.
- Do sada su programeri najprikladniji za agilne razvojne web aplikacije u cijelom svijetu.
- Ima značajku razdvajanja odgovornosti i uloga koja pojednostavljuje zadatke.
- Pruža podršku za RESTful uslugu.
- Podržava teme, internacionalizaciju, druge okvire baza podataka, JPA, više pogleda i podršku zajednice.
Protiv proljeća MVC
U nastavku navedite nekoliko nedostataka proljetnog MVC-a:
- Krivulja učenja Spring Spring-a i njegove MVC arhitekture malo je složena za programere jer ima malo složenih koncepata.
- Proljeće je promijenilo prirodu poput onih zasnovanih na XML-u ili anotacijama, a to je ponekad teško pratiti.
- Vrlo manje specifikacija za Spring MVC.
- Ako datoteka jar nije dostupna, aplikacija se neće pravilno pokrenuti.
- Vrlo veliki problemi s konfiguracijom, mnogi kontroleri kojima se treba rukovati, mnogi rješavači pogleda za kontrolu itd.
Najpopularnija pitanja za proljetni MVC
U nastavku su navedena najvažnija pitanja iz intervjua za Spring MVC. Pokušajte shvatiti koncept svakog pitanja, tako da će biti vrlo korisno u objašnjavanju anketara. Uvijek pokušajte dati primjere aplikacija u stvarnom vremenu ili ih povezati. Oni su korisni i za iskusne profesionalce.
P # 1) Što je Spring Framework i zašto je tako popularan?
Odgovor: Spring Framework lagan je okvir koji se koristi za razvoj slabo povezanih Java web aplikacija.
Pruža ugrađeni spremnik, ubrizgavanje ovisnosti i MVC arhitekturu. Vrlo je popularan jer omogućuje razdvajanje, ponovnu upotrebu i pruža uzorke dizajna poput singletona, tvornički kako bi se smanjila duljina koda itd., A također uklanja slabe veze i ima moćnu integraciju s trećom stranom.
P # 2) Što je Spring MVC?
Odgovor: Spring MVC slijedi koncept modela, pogleda i kontrolera.
To je instanca kontrolera koja se dijeli sama, a također pomaže u obradi nekoliko zahtjeva koji se izvršavaju u Inverziji kontrolnih spremnika poput presretača i kontrolera. Proljetni MVC obrazac pomaže u odvajanju aspekata aplikacije koji uključuje logiku unosa, poslovanja i prezentacije.
P # 3) Koje su ključne značajke proljetnog okvira?
Odgovor:
Osnovne značajke Spring MVC su:
- Sposoban je učinkovito konfigurirati okvir i klase kao grah. Također razdvaja funkcionalne uloge i odgovornosti.
- Omogućuje definiciju neograničene metode kontrolera što aplikaciju čini vrlo prilagodljivom i fleksibilnom.
- Pruža dobru prilagodbu za mapiranje rukovatelja, povezivanje, razlučivost pogleda i provjere valjanosti.
- Pomaže u prenošenju modela pomoću karte. Također pruža podršku za brzinu, JSTL, JSP, a korisnik može prilagoditi lokalizaciju i rezoluciju teme.
- Spring ima vlastitu knjižnicu oznaka što ga čini fleksibilnijim i podržava vezivanje podataka, teme, grah koji ima životni ciklus do HTTP zahtjeva.
P # 4) Objasnite koncept dispečerovog servleta.
Odgovor: Dispelcher Servlet glavni je središnji servlet koji obrađuje sve dolazne HTTP zahtjeve i odgovore. Ima integraciju s Spring IOC, a samim time omogućuje korištenje svih značajki Springa.
Jednom kada dispečerski servlet primi zahtjev, on ga prosljeđuje mapiranju rukovatelja za dobivanje odgovarajućeg kontrolera, a sada će kontroler pozvati ispravnu uslužnu metodu i opet će ga poslati natrag dispečerskom servletu.
Opet, servlet šalje zahtjev razrješivaču prikaza za dobivanje potrebnog pogleda, a zatim šalje odgovor klijentskom pregledniku.
Primjer koda za prikaz upotrebe servleta dispečera:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
P # 5) Čemu služi ContextLoaderListner u Spring MVC-u?
Odgovor: Koristi se za čitanje i raščlanjivanje konfiguracijske datoteke Spring i obradu učitavanja graha u toj konfiguracijskoj datoteci.
Primjer koda:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
P # 6) Objasnite klasu prednjeg regulatora Spring MVC.
Odgovor: Front Controller odgovoran je za obradu cijelog dolaznog zahtjeva aplikacije. U proljetnom MVC-u, dispečerski servlet djeluje kao prednji kontroler i obrađuje cijele dolazne zahtjeve.
P # 7) Objasnite funkciju @Autowired Annotation.
Odgovor: Bilješka @Autowired odgovorna je za ubrizgavanje graha prema svojoj vrsti, zajedno s poljima i metodama. Na taj način pomažući Spring Springu u rješavanju i ubrizgavanju graha koji surađuje u naš grah.
Primjer:
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(); } }
P # 8) Koja je funkcija bilješke atributa modela?
Odgovor: Anotacija @ModelAttribute igra vitalnu ulogu u Spring MVC okviru. Odgovorna je za parametar metode vezivanja s odgovarajućim atributom modela, a zatim ga prikazuje na prezentacijskoj stranici.
Ovisi i o tome što programer koristi u bilješci atributa modela . Ako se koristi na razini metode, to znači da je metoda odgovorna za dodavanje atributa. Kada se koristi kao parametar, to znači da vrijednost parametra treba dohvatiti iz sloja modela.
P # 9) Objasnite pojam i funkciju varijable puta.
Odgovor: @PathVariable je napomena koja se koristi kao parametar u metodi rukovatelja za izdvajanje vrijednosti predloška URI.
Primjer:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
P # 10) Koja je funkcija bilješke @RequestBody?
Odgovor: Bilješka @RequestBody odgovorna je za vezanje zahtjeva HTTP tijela za objekt domene. Dolazni HTTP zahtjev do proljeća se automatski deserializira na Java objekt uz pomoć pretvarača HTTP poruka.
P # 11) Koja je funkcija bilješke @ResponseBody?
Odgovor: Kada se oznaka @ResponseBody koristi u MVC kontroleru, to ukazuje na to da programer mora napisati povratnu vrstu deklarirane metode izravno u tijelo HTTP odgovora. Ovdje pozivanje na model nije potrebno, a naziv pogleda Spring Spring ne tumači.
P # 12) Zašto nam je potreban View Resolver u Spring MVC i što je interni resavač pogleda u Spring?
Odgovor: View Resolver odgovoran je za prikazivanje modela u web pregledniku. Ne zahtijevaju nikakve posebne tehnologije prikaza poput JSP, XML i Velocity itd.
'InternalResourceViewResolver' interni je razrješivač pogleda u Spring MVC-u.
Postoje neki važni razrješivači pogleda u Spring MVC-u kako je spomenuto u nastavku:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver itd.
P # 13) Objasnite princip rada proljetnog MVC okvira.
Odgovor:
Dijagram u nastavku pomoći će u razumijevanju toka:
Kao što znamo, temelji se na konceptu Model, View i Controller. Dispatcher Servlet prima HTTP zahtjev ovisno o mapiranju servleta obavljenom u web.xml.
Jednom kada zahtjev primi Dispatcher Servlet, isti isti zahtjev šalje mapiranju rukovatelja kako bi dobio potrebnu klasu kontrolera. Mapiranje rukovatelja spomenuto je u konfiguracijskoj datoteci Spring.
Ponovno se zahtjev šalje kontroloru, a kontrolor obrađuje zahtjev i metodu i vraća natrag traženi objekt prikaza modela servletu dispečera.
Sada servlet zahtjev šalje razrješivaču prikaza da bi dobio prezentaciju stranice prikaza.
Na kraju, Dispatch servlet prenosi model na prezentacijsku stranicu i isti se prikazuje klijentskom pregledniku.
P # 14) Koja je svrha upotrebe BindingResults?
Odgovor: BindingResults je jedno od sučelja u Springu koje dolazi u paketu org. Proljetni okvir .provjera valjanosti a koristi se za predstavljanje rezultata vezanja.
Igra zgodnu ulogu u otkrivanju pogrešaka iz poslanih obrazaca. Ima jednostavan i lagan postupak pozivanja. Programer mora imati na umu da rezultat vezivanja stavi kao parametar odmah nakon provjere valjanosti objekta.
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'; }
Ovdje će Spring Spring razumjeti čitajući napomenu @Valid i pokušat će pronaći njezin validator.
P # 15) Objasnite arhitekturu modela 1 i modela 2 Spring Framework-a.
Odgovor: To su dva važna modela dizajna za razvoj web aplikacija.
Model 1:
Ovdje dolazni zahtjev obrađuje servlet ili JSP. Servlet ili JSP stranica odgovorni su za obradu, obradu zahtjeva, kontrolu poslovne logike, provjeru valjanosti podataka i na kraju za generiranje odgovora.
Jednostavan je i ima laku arhitekturu, a mala industrija ga uglavnom preferira za razvoj jednostavnih aplikacija.
Model 2:
To je važan dizajnerski model i temelji se na konceptu Model View Controller. Sposoban je razdvojiti prezentaciju i logički odjeljak koji manipuliraju kodom.
Ovaj je model robustan, pouzdan i izbjegava dvostrukost. Dobar je za izgradnju velikih i složenih aplikacija.
P # 16) Objasnite funkciju proljećnog MVC presretača zajedno s njegovom uporabom.
Odgovor: Presretači igraju zgodnu ulogu u Spring MVC-u. Koriste se za presretanje zahtjeva od klijenta, obradu zahtjeva u različito vrijeme kao prije obrade zahtjeva, nakon obrade zahtjeva i nakon završetka prezentacijskog dijela, tj. Pregleda stranice itd.
Također se koristi iz međusobnih briga i smanjuje ponavljanje rukovatelja kodom poput kasnije modifikacije globalnih parametara u modelu, bilježenja itd.
P # 17) Je li dopušteno koristiti više Spring konfiguracijskih datoteka u Spring MVC?
Odgovor: Da, Spring dopušta imati više konfiguracijskih datoteka u jednom programu.
Postoje uglavnom dva načina da se to postigne, a ti su načini navedeni u nastavku:
(i) Razvojni programer mora deklarirati sve datoteke u web.xml koristeći parametar:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ii) Programer može uvesti datoteke u postojeću konfiguraciju.
P # 18) Objasnite funkcije sljedećih napomena: @Component, @Controller, @Repository, @Service.
Odgovor: Ovo su važne napomene u proljetnom MVC-u. Pogledajmo ih.
@Komponenta: Ova je napomena odgovorna za pretvaranje java klase u grah kako bi je Spring mogao prepoznati i koristiti u kontekstu aplikacije.
Sintaksa:
@Component public class StudentDAOImpl implements StudentDAO { ... }
@ Repozitorij: Ova se bilješka koristi na isti način kao i @Component, ali uz to uzima u obzir i neprovjerene iznimke koje se mogu koristiti u proljeće.
@Servis: Ova napomena također pretvara java klasu u grah, ali bolje je koristiti napomenu @service nego @component jer pruža bolje specifikacije u aplikaciji u stvarnom vremenu.
@Controller: Ako želimo napraviti bilo koju klasu kao kontroler, moramo navesti ovu napomenu.
P # 19) Koja je uloga multipart razrješivača i kada se koristi?
Odgovor: Multipart Resolver odgovoran je za prijenos datoteke u web aplikaciju. Dvije implementacije za njega su commonsMultipartResolver i StandardServletMultipartResolver.
P # 20) Kako Spring MVC pruža podršku za provjeru valjanosti?
Odgovor: Spring pruža podršku za provjeru valjanosti na dva načina, tj. Uglavnom korištenjem bilješke JSR 303 i sučelja za provjeru valjanosti.
P # 21) Kako se postiže lokalizacija u proljetnim MVC web aplikacijama?
Odgovor: Spring MVC konfiguriran je s LocaleResolver za podršku i internacionalizaciji i lokalizaciji. Da bi to bilo moguće, potrebno je registrirati neki grah kako je spomenuto u nastavku.
SessionLocaleResolver - Za rješavanje lokalizacija potrebna je pomoć već definiranih atributa u korisničkoj sesiji.
Sintaksa:
LocaleChangeInterceptor - Korisno je kada u dolaznom zahtjevu postoji parametar.
Sintaksa:
P # 22) Objasnite koncept konteksta korijenske aplikacije u Spring MVC-u zajedno s njegovim postupkom učitavanja.
Odgovor: ContextLoaderListner poznat je kao kontekst korijenske aplikacije u Spring MVC-u i koristi ga kompletna aplikacija.
Slušatelj je koji pomaže Spring MVC-u da se pokrene. Koristi se za učitavanje i stvaranje applicationContext-a kako bi se izbjeglo pisanje eksplicitnog koda. Proljetni grah definiran je u kontekstu aplikacije.
Općenito se depecherServlet koristi za specificiranje servleta u Spring MVC-u.
P # 23) Koja je uloga web.xml u Spring MVC-u i gdje se nalazi?
Odgovor: U web.xml konfiguriramo ContextLoaderListner. Kada rasporedimo aplikaciju, instancu kreira spremnik Servlet za ContextLoaderListner, a zatim dovodi do učitavanja webApplicationContext.
P # 24) Opišite neke vrste povratka metode kontrolera.
Odgovor: Neke od važnih vrsta povratka metoda kontrolera uključuju String, void, view, ModelAndView, Model, Map, HttpHeaders itd.
P # 25) Na temelju čega se odabire pogled u fazi prikazivanja?
Odgovor: ViewResolver u MVC arhitekturi odgovoran je za odabir potrebnog prikaza.
Kada kontroler pošalje odgovor na dispetrovski servlet, on šalje zahtjev razrješivaču prikaza za dobivanje ispravne stranice prikaza koja se može poslati klijentskom web pregledniku na prezentaciju.
P # 26) Koja je glavna razlika između bilješki @Requestparam i @PathVariable?
Odgovor: Te se bilješke koriste za dohvaćanje podataka i podataka s URL-a.
Ali, glavna razlika između njih je u tome što se @Requestparam koristi samo za dohvaćanje parametara upita, a @PathVariable za dohvaćanje kompletnog URL-a.
P # 27) Objasnite koncept programiranja usmjerenog na aspekte?
Odgovor: AOP je važan dio Spring MVC Architecture. AOP se koristi za presijecanje briga, a također i za aplikacije, provjeru valjanosti podataka, evidentiranje modula, upravljanje transakcijama, provjeru autentičnosti i objekte.
Postoje mnogi dijelovi programiranja usmjerenog na aspekt. Oni su spomenuti u nastavku:
- Aspekt: Aspect je odgovoran za međusektorske brige poput upravljanja transakcijama itd.
- Savjet: To je u osnovi radnja i metoda koja se izvršava, a koristi se i za određenu točku spajanja.
- Točka: Odgovorna je za izvršavanje savjeta u smislu regularnih izraza.
- Zajednička točka: To je točka u aplikaciji za procese poput rukovanja iznimkama, izvršavanja metode, promjene vrijednosti varijabli itd.
- Argumenti savjeta : Ovi se argumenti koriste za prosljeđivanje metoda.
Zaključak
Nadam se, iz ovog biste članka dobili cjelovit pregled proljetne MVC arhitekture.
Ovdje smo pokrili kompletan protok proljetnog MVC protoka od kraja do kraja, zašto nam treba proljetni MVC? Koji su različiti moduli u MVC arhitekturi? Značajke Spring MVC-a i dispečerskog servleta, koncept prednjeg kontrolera, slušatelji i njegova funkcija, različite vrste bilješki poput @Autowired, @Controller, @RequestBody, itd.
Također smo saznali više o konceptu View Resolver, AOP procesu i različitim vrstama kontrolera zajedno s njegovom uporabom. Lokalizacija i presretači, različita arhitektura Spring okvira i koncept rezultata vezivanja zajedno s njegovom uporabom.
pitanja za intervju za programiranje na strani poslužitelja jave
Saznali smo što je Spring spremnik i njegova upotreba u Spring MVC? Korištenje datoteka s konfiguracijama u Spring MVC-u, promjenjive odgovornosti i važnost puta. itd. U ovom su članku objašnjena gotovo sva najvažnija i najočekivanija pitanja za proljetni MVC intervju.
Međutim, uvijek je poželjno objasniti primjerima koda u aplikaciji u stvarnom vremenu kako bi se zadovoljila očekivanja anketara. Ovdje su pokriveni svi kodovi potrebni za svaki koncept radi lakšeg razumijevanja.
Želimo vam sve najbolje!
Preporučena literatura
- Intervjuirajte pitanja i odgovore
- 25 najboljih agilnih testova Intervju pitanja i odgovori
- 25+ najpopularnijih pitanja i odgovora za intervju za ADO.NET
- Neka nezgodna ručna ispitivanja Pitanja i odgovori
- Pitanja i odgovori za ispitivanje ETL-a
- Pitanja i odgovori za testiranje softvera (1. dio)
- Pitanja i odgovori za intervju s analitičarom QAL-a za 40+ popularnih testova (POPIS 2021)
- Top 25 funkcionalnih testova Intervju pitanja i odgovori