25 top spring mvc interview questions
De mest populære MVC-intervjuspørsmålene om våren med svar på inngangsnivå og erfarne kandidater:
Spring er et kraftig rammeverk som brukes over hele verden av Java-utviklere for å utvikle Java Enterprise Web-applikasjon.
Fjær MVC står for modellvisning og kontroller. Akkurat som andre rammeverk, er våren også basert på J2EE-teknologier som er JSP og Servlet sammen med implementeringen av designmønster Model, View og Controller.
Her vil vi utforske de mest stilte spørsmålene om Spring MVC-intervju med eksempler.
Hva du vil lære:
gratis programvare for å fikse registerfeil
Spring MVC Architecture
MVC-arkitekturen har mange innebygde klasser og komponenter som alltid er tilgjengelige for utviklerne for å utvikle en sterk og løst koblet applikasjon.
Løst koblet betyr at det ikke skal være noen hardkodede avhengigheter mellom klassene. Dette gjør i sin tur oppgaven ganske komplisert når det gjelder endring av kode eller funksjonalitet i applikasjonen.
MVC-arkitektur har sine egne uavhengige funksjoner. Modelllaget inkluderer alle POJO-klassene og hjelper til med innkapsling av data. Visningslag brukes til å gjengi dataene som er tilstede i modellaget, og det genererer kontinuerlig utdata i HTML-format for klienten som vanligvis mottar det i en nettleser.
Til slutt er kontrolleren ansvarlig for behandling av forespørsler og bygging av riktig modell, og den sender svaret til visnings- eller presentasjonslaget.
I denne artikkelen vil du gå gjennom alle viktige temaer i Spring MVC som nevnt nedenfor:
- Arbeidsprinsippet til Spring MVC
- Vårarkitektur
- Konseptet med dispatcher servlet
- Handler mapping
- Kontroller
- Se løse
- Ulike lag med vår-MVC
- Fjærkjerne, fordeler med å bruke Spring MVC
- Vårmoduler
- AOP
- Uttrykk språk
- Data Access-lag
- Webmodul
- Aspekter
- Test osv
- Inversjon av kontroll og avhengighetsinjeksjon, om pom.xml-filer.
La oss ta en titt på fordeler og ulemper ved Spring MVC !!
Fordeler med våren MVC
Nedenfor er de forskjellige fordelene ved Spring MVC:
- Siden den er veldig liten, gir den høy ytelse med færre problemer.
- Den har høy produktivitet som igjen øker utviklingen.
- Det er veldig sikkert ettersom det bruker Spring SPI og brukes mest av alle bankene til deres webapplikasjoner.
- Vi kan utvikle modulære applikasjoner, siden den støtter Model View og kontrollerarkitektur.
- Den støtter komplett testdrevet utvikling, som er for god.
- Inntil nå er det best egnet for agile utviklingsnettapplikasjoner over hele verden av utviklere.
- Den har en ansvars- og rolleseparasjonsfunksjon som forenkler oppgaver.
- Det gir støtte for RESTful service.
- Den støtter temaer, internasjonalisering, andre databaserammer, JPA, flere visninger og fellestøtte.
Ulemper med våren MVC
Nedenfor er noen av ulempene ved Spring MVC:
- Læringskurven til Spring Framework og MVC-arkitekturen er litt kompleks for utviklere, siden den har få komplekse konsepter.
- Våren har skiftende natur som XML-baserte eller kommentarbaserte, og det blir til tider vanskelig å følge opp.
- Svært mindre spesifikasjon i Spring MVC.
- Hvis jar-filen ikke er tilgjengelig, kjører ikke applikasjonen riktig.
- Svært store konfigurasjonsproblemer, mange kontrollere å håndtere, mange view resolver å kontrollere, etc.
Top Spring MVC Interview Questions
Nedenfor er de viktigste intervjuspørsmålene for Spring MVC. Prøv å få konseptet til hvert spørsmål, slik at det vil være veldig nyttig å forklare intervjueren. Forsøk alltid å gi eller korrelere med eksempler på sanntidsapplikasjoner. Disse er også nyttige for erfarne fagfolk.
Sp # 1) Hva er vårrammen og hvorfor er den så populær?
Svar: Spring Framework er et lett rammeverk som brukes til å utvikle løst koblede Java-webapplikasjoner.
Det gir en innebygd container, avhengighetsinjeksjon og MVC-arkitektur. Det er veldig populært ettersom det tillater frakobling, gjenbrukbarhet, og gir designmønstre som singleton, fabrikk for å redusere kodelengden osv., Og fjerner også svake forbindelser og har kraftig integrasjon med tredjepart.
Q # 2) Hva er Spring MVC?
Svar: Spring MVC følger konseptet Model, View og Controller.
Det er en forekomst av en kontroller som deles alene, og hjelper også til å håndtere flere forespørsler som utføres i inversjon av kontrollcontainere som interceptorer og kontrollere. Spring MVC-mønsteret hjelper til med å skille aspektene ved applikasjonen som inkluderer input, business og presentasjonslogikk.
Q # 3) Hva er kjernefunksjonene i Spring Framework?
Svar:
Kjernefunksjonene til Spring MVC er:
- Den er i stand til effektivt å konfigurere rammeverket og klassene som bønner. Det deler også funksjonelle roller og ansvar hver for seg.
- Det gjør det mulig å definere en ubegrenset kontrollmetode som gjør applikasjonen svært justerbar og fleksibel.
- Det gir god tilpasning for håndteringskartlegging, binding, visningsoppløsning og validering.
- Det hjelper å overføre modellen ved hjelp av et kart. Det gir også støtte for hastighet, JSTL, JSP, og brukeren kan tilpasse sted og temaoppløsning.
- Spring har sitt eget tagbibliotek som gjør det mer fleksibelt og støtter databinding, temaer, bønner som har livssyklus opp til HTTP-forespørsel.
Q # 4) Forklar konseptet til Dispatcher Servlet.
Svar: Dispatcher Servlet er den viktigste sentrale servleten som håndterer alle innkommende HTTP-forespørsler og svar. Den har integrasjon med Spring IOC, og dermed gjør det mulig å bruke alle funksjonene til Spring.
Når senderservletten mottar en forespørsel, videresender den den til håndteringskartlegging for å få en passende kontroller, og nå vil kontrolleren kalle riktig servicemetode, og igjen vil den sende den tilbake til senderservletten.
Igjen sender servletten forespørselen til visningsoppløseren for å få ønsket visning, og deretter sender den svaret til klientleseren.
Kodeeksempel for å vise dispatcherservletbruk:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
Q # 5) Hva er bruken av ContextLoaderListner i Spring MVC?
Svar: Den brukes til å lese og analysere vårkonfigurasjonsfilen og behandle lasting av bønner i den konfigurasjonsfilen.
Kodeeksempel:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
Q # 6) Forklar frontkontrollerklassen til Spring MVC.
Svar: Front Controller er ansvarlig for å håndtere hele innkommende forespørsel om en applikasjon. I vår MVC fungerer dispatcherservlet som en frontkontroller og håndterer hele innkommende forespørsler.
Q # 7) Forklar funksjonen til @Autowired Annotation.
Svar: @Autowired-merknaden er ansvarlig for å injisere en bønne etter sin type sammen med feltene og metodene. Dermed hjelper våren til å løse og injisere samarbeidende bønner i bønnen vår.
Eksempel:
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(); } }
Q # 8) Hva er funksjonen til Model Attribute-merknader?
Svar: @ModelAttribute-merknad spiller en viktig rolle i Spring MVC-rammeverket. Det er ansvarlig for bindingsmetodeparameteren med det respektive modellattributtet og viser den deretter til presentasjonssiden.
Det avhenger også av hva utvikleren bruker i modellattributtkommentar . Hvis den brukes på metodenivå, indikerer det at metoden er ansvarlig for å legge til attributter. Når den brukes som en parameter, indikerer det at parameterverdien skal hentes fra modellaget.
Q # 9) Forklar begrepet og funksjonen til Path Variable.
Svar: @ PathVariable er en kommentar som brukes som en parameter i behandlingsmetoden for å trekke ut verdien av URI-malen.
Eksempel:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
Q # 10) Hva er funksjonen til kommentar @RequestBody?
Svar: @RequestBody-merknaden er ansvarlig for å binde HTTP-kroppsforespørselen til et domeneobjekt. Den innkommende HTTP-forespørselen blir automatisk avserialisert til Java-objektet av Spring ved hjelp av HTTP-meldingsomformerne.
Sp # 11) Hva er funksjonen til kommentar @ ResponseBody?
Svar: Når @ResponseBody-merknaden brukes i MVC-kontrolleren, indikerer det at utvikleren må skrive en returtype av deklarert metode direkte til HTTP-responsorganet. Her kreves det ikke å påkalle modellen, og visningsnavnet tolkes ikke av Spring.
Spørsmål nr. 12) Hvorfor trenger vi View Resolver in Spring MVC, og hva er en intern view resolver på våren?
Svar: View Resolver er ansvarlig for gjengivelse av modeller i nettleseren. Det krever ingen spesifikke visningsteknologier som JSP, XML og Velocity, etc.
“InternalResourceViewResolver” er den interne visningsoppløseren i vår-MVC.
Det er noen viktige synsløsere i Spring MVC som nevnt nedenfor:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver etc.
Q # 13) Forklar arbeidsprinsippet til Spring MVC Framework.
Svar:
Diagrammet nedenfor hjelper deg med å forstå flyten:
Som vi vet er det basert på konseptet Model, View og Controller. Dispatcher Servlet mottar HTTP-forespørselen, avhengig av servletkartleggingen som er gjort i web.xml.
Når forespørselen er mottatt av Dispatcher Servlet, sender den den samme forespørselen til håndteringskartleggingen for å få ønsket kontrollerklasse. Handlingskartlegging er nevnt i vårkonfigurasjonsfilen.
Igjen sendes forespørselen til kontrolleren, og kontrolleren behandler forespørselen og metoden og sender det nødvendige modellvisningsobjektet tilbake til ekspedisjonsservlet.
Nå sendes forespørselen til visningsoppløseren av en servlet for å få presentasjonen av visningssiden.
Til slutt sender Dispatcher Servlet modellen til presentasjonssiden, og den samme blir gjengitt til en klientleser.
Sp # 14) Hva er hensikten med å bruke BindingResults?
Svar: BindingResults er et av grensesnittene om våren som kommer under pakken org. Springframework .validering og brukes til å representere de bindende resultatene.
Det spiller en praktisk rolle i å oppdage feil fra de innsendte skjemaene. Den har en enkel og enkel påkallingsprosess. Utvikleren må huske på å sette bindingsresultatet som en parameter like etter validering av objektet.
Syntaks:
@PostMapping('/client') public String submitpage(@Valid NewUserPage newUserPage, BindingResult result, Model model) { if (result.hasErrors()) { return 'uHome'; } model.addAttribute('message', 'Valid Page'); return 'uHome'; }
Her vil vårrammeverket forstå ved å lese @Valid-merknaden og vil prøve å finne validatoren.
Sp # 15) Forklar modell 1 og modell 2-arkitekturen i Spring Framework.
Svar: Dette er de to viktige designmodellene for utvikling av webapplikasjoner.
Modell 1:
Her håndteres den innkommende forespørselen av servletten eller en JSP. Servletten eller JSP-siden er ansvarlig for å håndtere, behandle forespørselen, kontrollere forretningslogikken, validering av data og til slutt for å generere svaret.
Det er enkelt og har en enkel arkitektur og er mest foretrukket av små industrier for å utvikle enkle applikasjoner.
Modell 2:
Det er en viktig designmodell og er basert på Model View Controller-konseptet. Den er i stand til å skille presentasjonen og den logiske delen som manipulerer koden.
Denne modellen er robust, pålitelig og unngår duplisering. Det er bra for å bygge store og komplekse applikasjoner.
Q # 16) Forklar funksjonen til Spring MVC interceptor sammen med bruken.
Svar: Avskjærere spiller en praktisk rolle i Spring MVC. De brukes til å fange opp forespørselen fra klienten, behandle forespørselen på forskjellige tidspunkter som før behandlingen av forespørselen, etter håndtering av forespørselen og etter fullføring av presentasjonsdelen, dvs. visningsside osv.
Den brukes også fra tverrgående bekymringer og reduserer repetisjonen av kodehåndteringen som en modifisering av globale parametere i modellen senere, logging osv.
Q # 17) Er det lov å bruke flere Spring-konfigurasjonsfiler i Spring MVC?
Svar: Ja, Spring tillater å ha flere konfigurasjonsfiler i ett program.
Det er hovedsakelig to måter å oppnå dette på, og disse måtene er nevnt nedenfor:
(i) Utvikleren må erklære alle filene på web.xml ved hjelp av parameteren:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ii) Utvikleren kan importere filer til den eksisterende konfigurasjonen.
Q # 18) Forklar funksjonene til følgende merknader: @Component, @Controller, @Repository, @Service.
den beste gratis nedlasting av musikk for android
Svar: Dette er de viktige kommentarene i Spring MVC. La oss ta en titt på dem.
@Komponent: Denne merknaden er ansvarlig for å konvertere en java-klasse til bønnen slik at den kan gjenkjennes av våren og brukes i applikasjonssammenheng.
Syntaks:
@Component public class StudentDAOImpl implements StudentDAO { ... }
@Oppbevaringssted: Denne kommentaren har samme bruk som @Component, men i tillegg vurderer den også de ukontrollerte unntakene som kan brukes om våren.
@Service: Denne kommentaren konverterer også java-klassen til bønnen, men det er bedre å bruke @service-merknad enn @component, da den gir bedre spesifikasjoner i et sanntidsapplikasjon.
@Kontrollør: Hvis vi ønsker å lage en klasse som kontroller, må vi spesifisere denne merknaden.
Q # 19) Hva er rollen til Multipart resolver og når brukes den?
Svar: Multipart Resolver er ansvarlig for å laste opp filen i et webapplikasjon. To implementeringer for det er commonsMultipartResolver og StandardServletMultipartResolver.
Spørsmål nr. 20) Hvordan gir Spring MVC støtte for validering?
Svar: Spring gir valideringsstøtte på to måter - dvs. hovedsakelig ved hjelp av JSR 303-kommentar og Validator-grensesnitt.
Spørsmål nr. 21) Hvordan oppnås lokalisering i våren MVC webapplikasjoner?
Svar: Spring MVC er konfigurert med LocaleResolver for å støtte både internasjonalisering og lokalisering. For å gjøre dette mulig, må noen bønner registreres som nevnt nedenfor.
SessionLocaleResolver - Det tar hjelp av de allerede definerte attributtene i brukersesjonen for å løse lokaliteter.
Syntaks:
LocaleChangeInterceptor - Det er nyttig når det er en parameter i den innkommende forespørselen.
Syntaks:
Q # 22) Forklar begrepet rotapplikasjonskontekst i Spring MVC sammen med lasteprosessen.
Svar: ContextLoaderListner er kjent som rotapplikasjonskonteksten i Spring MVC og brukes av hele applikasjonen.
Det er en lytter som hjelper Spring MVC til å starte. Den brukes til å laste inn og opprette applicationContext, for å unngå å skrive eksplisitt kode. Spring bean er definert i Application Context.
Generelt brukes dispatcherServlet til å spesifisere servlets i vår-MVC.
Spørsmål nr. 23) Hva er rollen til web.xml i Spring MVC og hvor ligger den?
Svar: I web.xml konfigurerer vi ContextLoaderListner. Når vi distribuerer applikasjonen, opprettes en forekomst av Servlet-beholderen for ContextLoaderListner, og deretter fører den til lasting av webApplicationContext.
Q # 24) Beskriv noen returtyper av kontrollermetoden.
Svar: Noen av de viktige returtypene til kontrollermetodene inkluderer String, void, view, ModelAndView, Model, Map, HttpHeaders, etc.
Sp # 25) På hvilket grunnlag er et syn valgt i gjengivelsesfasen?
Svar: ViewResolver i MVC-arkitektur er ansvarlig for å velge ønsket visning.
Når kontrolleren sender svaret til avsenderservletten, sender den forespørselen til visningsoppløseren for å få den riktige visningssiden som kan sendes til en klientens nettleser for presentasjon.
Q # 26) Hva er hovedforskjellen mellom @Requestparam og @PathVariable-merknad?
Svar: Disse kommentarene brukes til å hente informasjon og data fra en URL.
Men hovedforskjellen mellom dem er at @Requestparam bare brukes til å hente spørringsparametere og @PathVariable brukes til å hente hele URL-en.
Q # 27) Forklar begrepet Aspect Oriented Programming?
Svar: AOP er en viktig del av Spring MVC Architecture. AOP brukes til å krysse bekymring og også for applikasjoner, validering av data, modullogging, transaksjonsadministrasjon, autentisering og objekter.
Det er mange deler av Aspect Oriented Programming. Disse er nevnt nedenfor:
- Aspekt: Aspect er ansvarlig for tverrgående bekymringer som transaksjonsstyring etc.
- Råd: Det er i utgangspunktet en handling og metode som utføres og brukes også til et spesifisert sammenføyningspunkt.
- Pointcut: Det er ansvarlig for gjennomføring av råd når det gjelder regulære uttrykk.
- Fellespunkt: Det er et poeng i applikasjonen for prosesser som unntakshåndtering, utføring av metoden, endring av variable verdier, etc.
- Råd Argumenter : Disse argumentene brukes til å formidle metoder.
Konklusjon
Håper, du ville ha fått en komplett oversikt over Spring MVC-arkitektur fra denne artikkelen.
Her har vi dekket hele strømmen av fjær-MVC-strømmen, hvorfor trenger vi fjær-MVC? Hva er de forskjellige modulene i MVC-arkitektur? Funksjoner av Spring MVC og dispatcher servlet, konseptet til frontkontrolleren, lyttere og dens funksjon, forskjellige typer merknader som @Autowired, @Controller, @RequestBody, etc.
Vi lærte også mer om View Resolver-konseptet, AOP-prosessen og forskjellige typer kontrolleren sammen med bruken. Lokalisering og interceptors, forskjellig arkitektur av Spring framework og konseptet med bindende resultat sammen med bruken.
Vi ble kjent med hva som er en Spring container og dens bruk i Spring MVC? Bruk av konfigurasjonsfiler i Spring MVC, banen varierende ansvar og betydning. etc Nesten alle de viktigste og mest forventede MVC-intervjuspørsmålene fra våren blir forklart i denne artikkelen.
Det er imidlertid alltid tilrådelig å forklare med kodeeksempler i sanntidsapplikasjonen for å tilfredsstille intervjuerens forventning. Alle kodene som kreves for hvert konsept blir dekket her for enkel forståelse.
Vi ønsker deg alt godt!
Anbefalt lesing
- Intervju spørsmål og svar
- 25 beste spørsmål om svar og svar på smidig testing
- 25+ mest populære ADO.NET intervjuspørsmål og svar
- Noen vanskelige manuelle testspørsmål og svar
- ETL Testing Intervju Spørsmål og svar
- Spørsmål og svar om programvaretesting (del 1)
- 40+ populære QA-analytikers intervjuspørsmål og svar (2021 LISTE)
- Topp 25 Funksjonstesting Intervju Spørsmål og svar