25 top spring mvc interview questions
Mest populære forårsmvc-interviewspørgsmål med svar til indgangsniveau og erfarne kandidater:
Spring er en stærk ramme, der bruges over hele verden af Java-udviklere til at udvikle Java Enterprise Web-applikationen.
Spring MVC står for Model View og Controller. Ligesom andre framework Struts er Spring også baseret på J2EE-teknologier, der er JSP og Servlet sammen med implementeringen af designmønster Model, View og Controller.
Her vil vi undersøge de mest stillede spørgsmål om Spring MVC-interview med eksempler.
Hvad du vil lære:
testteknikker i hvid boks med eksempler
Spring MVC Architecture
MVC-arkitekturen har mange indbyggede klasser og komponenter, som altid er tilgængelige for udviklerne til at udvikle en stærk og løst koblet applikation.
Løst koblet betyder, at der ikke skal være nogen hårdkodede afhængigheder mellem klasserne. Dette gør til gengæld opgaven ret kompleks, når det kommer til ændring af applikationens kode eller funktionalitet.
MVC-arkitektur har sine egne uafhængige funktioner. Modellaget inkluderer alle POJO-klasser og hjælper med indkapsling af data. Visningslag bruges til at gengive de data, der er til stede i modelaget, og det genererer fortsat output i HTML-format til klienten, som normalt modtager det i en webbrowser.
Endelig er controlleren ansvarlig for anmodningsprocessering og opbygning af den korrekte model, og den sender dermed svaret til visnings- eller præsentationslaget.
I denne artikel vil du gennemgå alle de vigtige emner i Spring MVC som nævnt nedenfor:
- Arbejdsprincippet for Spring MVC
- Forår arkitektur
- Begrebet afsender servlet
- Kortlægning af håndterer
- Controller
- Se beslutning
- Forskellige lag af fjeder MVC
- Fjederkerne, fordele ved at bruge fjeder MVC
- Forårsmoduler
- AOP
- Udtrykssprog
- Dataadgangslag
- Webmodul
- Aspekter
- Test osv
- Inversion af kontrol og afhængighedsinjektion, omkring pom.xml-filer.
Lad os se på fordele og ulemper ved Spring MVC !!
Fordele ved foråret MVC
Nedenfor er de forskellige fordele ved Spring MVC:
- Da den er meget lille, leverer den høj ydeevne med færre problemer.
- Det har høj produktivitet, hvilket igen øger udviklingen.
- Det er meget sikkert, da det bruger Spring SPI og bruges mest af alle bankerne til deres webapplikationer.
- Vi kan udvikle modulære applikationer, da det understøtter Model View og controller-arkitektur.
- Det understøtter komplet testdrevet udvikling, hvilket er for godt.
- Indtil nu er det bedst egnet til agile udviklingswebapplikationer overalt i verden af udviklere.
- Det har en ansvars- og rolleadskillelsesfunktion, der forenkler opgaver.
- Det giver support til RESTful service.
- Det understøtter temaer, internationalisering, andre databaserammer, JPA, flere visninger og community support.
Ulemper ved foråret MVC
Nedenfor er nogle af ulemperne ved Spring MVC:
- Læringskurven for Spring Framework og dens MVC-arkitektur er lidt kompleks for udviklere, da den har få komplekse koncepter.
- Foråret har skiftende natur som XML-baserede eller annoteringsbaserede, og det bliver til tider vanskeligt at følge op på.
- Meget mindre specifikation i Spring MVC.
- Hvis jar-filen ikke er tilgængelig, kører applikationen ikke korrekt.
- Meget store konfigurationsproblemer, mange controllere at håndtere, mange view resolver til kontrol osv.
Top Spring MVC Interview Spørgsmål
Nedenfor er de vigtigste interviewspørgsmål til Spring MVC. Prøv at få konceptet med hvert spørgsmål, så det vil være meget nyttigt at forklare intervieweren. Forsøg altid at give eller korrelere med eksempler på realtidsapplikationer. Disse er også nyttige for erfarne fagfolk.
Q # 1) Hvad er Spring Framework, og hvorfor er det så populært?
Svar: Spring Framework er en letvægtsramme, der bruges til at udvikle løst koblede Java-webapplikationer.
Det giver en indbygget container, afhængighedsinjektion og MVC-arkitektur. Det er meget populært, da det tillader afkobling, genanvendelighed og giver designmønstre som singleton, fabrik for at reducere kodelængden osv. Og også fjerner svage forbindelser og har kraftig integration med tredjepart.
Q # 2) Hvad er Spring MVC?
Svar: Spring MVC følger konceptet Model, View og Controller.
Det er en forekomst af en controller, der deles alene og hjælper også med at håndtere flere anmodninger, der udføres i Inversion af kontrolcontainere som interceptorer og controllere. Spring MVC-mønster hjælper med at adskille de aspekter af applikationen, der inkluderer input-, forretnings- og præsentationslogik.
Spørgsmål nr. 3) Hvad er kernefunktionerne i Spring Framework?
Svar:
Grundfunktionerne i Spring MVC er:
- Det er i stand til effektivt at konfigurere rammen og klasser som bønner. Det deler også de funktionelle roller og ansvar separat.
- Det giver mulighed for definition af en ubegrænset controller-metode, der gør applikationen meget justerbar og fleksibel.
- Det giver god tilpasning til kortlægning af handler, binding, visningsopløsning og valideringer.
- Det hjælper med at overføre modellen ved hjælp af et kort. Det giver også understøttelse af hastighed, JSTL, JSP, og brugeren kan tilpasse lokalitet og temaopløsning.
- Spring har sit eget tagbibliotek, der gør det mere fleksibelt og understøtter databinding, temaer, bønner, der har livscyklus op til HTTP-anmodning.
Q # 4) Forklar konceptet med Dispatcher Servlet.
Svar: Dispatcher Servlet er den centrale centrale servlet, der håndterer alle de indgående HTTP-anmodninger og svar. Det har integration med Spring IOC, og det gør det således muligt at bruge alle funktionerne i Spring.
Når dispatcherservlet modtager en anmodning, videresender den den til handlerkortlægning for at få en passende controller, og nu kalder controlleren den korrekte servicemetode, og igen sender den den tilbage til dispatcherservlet.
Igen sender servlet anmodningen til visningsopløseren for at få den krævede visning, og derefter sender den svaret til klientbrowseren.
Kodeeksempel for at vise afsenderservletbrug:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
Spørgsmål nr. 5) Hvad er brugen af ContextLoaderListner i Spring MVC?
Svar: Det bruges til at læse og analysere Spring-konfigurationsfilen og behandle indlæsningen af bønner i denne konfigurationsfil.
Kodeeksempel:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
Q # 6) Forklar den forreste controller-klasse for Spring MVC.
Svar: Frontcontroller er ansvarlig for at håndtere hele den indgående anmodning om en applikation. I Spring MVC fungerer dispatcherservlet som en frontcontroller og håndterer hele indgående anmodninger.
Q # 7) Forklar funktionen af @Autowired Annotation.
Svar: Annotationen @Autowired er ansvarlig for at injicere en bønne efter sin type sammen med felterne og metoderne. Dermed hjælper vi foråret med at løse og injicere samarbejdende bønner i vores bønne.
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) Hvad er funktionen af Model Attribute-annotering?
Svar: @ModelAttribute-annotation spiller en vigtig rolle i Spring MVC-rammen. Det er ansvarligt for bindingsmetodeparameteren med den respektive modelattribut og viser den derefter til præsentationssiden.
Det afhænger også af, hvad udvikleren bruger i modelattributkommentaren . Hvis det bruges på metodeniveau, indikerer det, at metoden er ansvarlig for at tilføje attributter. Når det bruges som en parameter, angiver det, at parameterværdien skal hentes fra modelaget.
Q # 9) Forklar begrebet og funktionen af Path Variable.
Svar: @PathVariable er en kommentar, der bruges som en parameter i behandlingsmetoden til udpakning af værdien af URI-skabelonen.
Eksempel:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
Q # 10) Hvad er funktionen af kommentar @RequestBody?
Svar: @RequestBody-kommentaren er ansvarlig for at binde HTTP-kroppsanmodningen til et domæneobjekt. Den indgående HTTP-anmodning de-serialiseres automatisk til Java-objektet af Spring ved hjælp af HTTP-meddelelsesomformerne.
Q # 11) Hvad er funktionen af kommentar @ResponseBody?
Svar: Når @ResponseBody-kommentaren bruges i MVC-controlleren, indikerer det, at udvikleren skal skrive en returtype af en erklæret metode direkte til HTTP-responsorganet. Her kræves ikke påkald af modellen, og visningsnavnet fortolkes ikke af Spring.
Q # 12) Hvorfor har vi brug for View Resolver i Spring MVC, og hvad er en intern view resolver i Spring?
Svar: View Resolver er ansvarlig for gengivelse af modeller i webbrowseren. Det kræver ingen specifikke visningsteknologier som JSP, XML og Velocity osv.
“InternalResourceViewResolver” er den interne visningsopløsning i Spring MVC.
Der er nogle vigtige synsopløsere i Spring MVC som nævnt nedenfor:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver etc.
Q # 13) Forklar arbejdsprincippet i Spring MVC Framework.
Svar:
Nedenstående diagram hjælper med at forstå strømmen:
Som vi ved, er det baseret på konceptet Model, View og Controller. Dispatcher Servlet modtager HTTP-anmodningen afhængigt af servlet-mapping udført på web.xml.
Når anmodningen er modtaget af Dispatcher Servlet, sender den den samme anmodning til handlertilknytningen for at få den krævede controller-klasse. Handler-kortlægning er nævnt i Spring-konfigurationsfilen.
Igen sendes anmodningen til controlleren, og controlleren behandler anmodningen og metoden og sender det krævede modelvisningsobjekt tilbage til afsender-servlet.
Nu sendes anmodningen til visningsopløseren af en servlet for at få præsentationen af visningssiden.
Endelig sender Dispatcher Servlet modellen til præsentationssiden, og den samme gengives til en klientbrowser.
Spørgsmål nr. 14) Hvad er formålet med at bruge BindingResults?
Svar: BindingResults er en af grænsefladerne om foråret, der kommer under pakken org. Springframework . validering og bruges til at repræsentere bindingsresultaterne.
Det spiller en praktisk rolle i at opdage fejl fra de indsendte formularer. Det har en enkel og nem påkaldsproces. Udvikleren skal huske at sætte bindingsresultatet som en parameter lige efter objektets validering.
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 Spring-rammen forstå ved at læse @Valid-kommentaren og forsøge at finde dens validator.
Q # 15) Forklar arkitekturen Model 1 og Model 2 i Spring Framework.
Svar: Dette er de to vigtige designmodeller til udvikling af webapplikationer.
Model 1:
Her håndteres den indgående anmodning af servlet eller en JSP. Servlet- eller JSP-siden er ansvarlig for håndtering, behandling af anmodningen, styring af forretningslogikken, validering af data og til sidst for generering af svaret.
Det er enkelt og har en let arkitektur og foretrækkes mest af små industrier til at udvikle enkle applikationer.
Model 2:
Det er en vigtig designmodel og er baseret på Model View Controller-konceptet. Det er i stand til at adskille præsentationen og det logiske afsnit, der manipulerer koden.
Denne model er robust, pålidelig og undgår dobbelt. Det er godt til opbygning af store og komplekse applikationer.
Q # 16) Forklar funktionen af Spring MVC interceptor sammen med dens anvendelse.
Svar: Interceptors spiller en praktisk rolle i Spring MVC. De bruges til at opfange anmodningen fra klienten, behandle anmodningen på forskellige tidspunkter som før behandling af anmodningen, efter behandling af anmodningen og efter afslutning af præsentationsdelen, dvs. vis side osv.
Det bruges også fra tværgående bekymringer og reducerer gentagelsen af kodehåndteringen som en ændring af globale parametre i modellen senere, logning osv.
Spørgsmål nr. 17) Er det tilladt at bruge flere Spring-konfigurationsfiler i Spring MVC?
Svar: Ja, Spring tillader at have flere konfigurationsfiler i en applikation.
Der er hovedsageligt to måder at opnå dette på, og disse måder er nævnt nedenfor:
(i) Udvikleren skal erklære alle filerne på web.xml ved hjælp af parameteren:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ii) Udvikleren kan importere filer til den eksisterende konfiguration.
Q # 18) Forklar funktionerne i følgende kommentarer: @Component, @Controller, @Repository, @Service.
Svar: Dette er de vigtige kommentarer i Spring MVC. Lad os se på dem.
@Komponent: Denne kommentar er ansvarlig for at konvertere en java-klasse til bønnen, så den kan genkendes af Spring og bruges i applikationskonteksten.
Syntaks:
@Component public class StudentDAOImpl implements StudentDAO { ... }
@Repository: Denne kommentar har den samme anvendelse som @Component, men derudover overvejer den også de ukontrollerede undtagelser, der kan bruges i foråret.
@Service: Denne kommentar konverterer også java-klassen til bønnen, men det er bedre at bruge @service-kommentar end @component, da den giver bedre specifikationer i en applikation i realtid.
@Kontrol: Hvis vi vil lave en klasse som controller, er vi nødt til at specificere denne kommentar.
Spørgsmål nr. 19) Hvilken rolle har Multipart-resolver, og hvornår bruges den?
Svar: Multipart Resolver er ansvarlig for at uploade filen i en webapplikation. To implementeringer til det er commonsMultipartResolver og StandardServletMultipartResolver.
Spørgsmål nr. 20) Hvordan yder Spring MVC support til validering?
Svar: Spring yder valideringssupport på to måder - dvs. hovedsageligt ved hjælp af JSR 303-annotering og Validator-interface.
Spørgsmål nr. 21) Hvordan opnås lokalisering i Spring MVC-webapplikationer?
Svar: Spring MVC er konfigureret med LocaleResolver til at understøtte både internationalisering og lokalisering. For at gøre dette muligt skal nogle bønner registreres som nævnt nedenfor.
SessionLocaleResolver - Det tager hjælp fra de allerede definerede attributter i brugersessionen til løsning af lokaliteter.
Syntaks:
LocaleChangeInterceptor - Det er nyttigt, når der er en parameter til stede i den indgående anmodning.
Syntaks:
Q # 22) Forklar konceptet med rodapplikationskontekst i Spring MVC sammen med dens indlæsningsproces.
Svar: ContextLoaderListner er kendt som rodapplikationskonteksten i Spring MVC og bruges af den komplette applikation.
Det er en lytter, der hjælper Spring MVC med at bootstrap. Det bruges til at indlæse og oprette applicationContext for at undgå at skrive eksplicit kode. Springbønne er defineret i applikationskonteksten.
Generelt bruges dispatcherServlet til at specificere servlets i Spring MVC.
Spørgsmål nr. 23) Hvad er rollen for web.xml i Spring MVC, og hvor er den placeret?
Svar: I web.xml konfigurerer vi ContextLoaderListner. Når vi distribuerer applikationen, oprettes en instans af Servlet-containeren til ContextLoaderListner, og derefter fører den til indlæsning af webApplicationContext.
Q # 24) Beskriv nogle returtyper af controller-metoden.
salgssted software til ipad
Svar: Nogle af de vigtige returtyper af controller-metoderne inkluderer String, void, view, ModelAndView, Model, Map, HttpHeaders osv.
Spørgsmål nr. 25) På hvilket grundlag vælges en visning i gengivelsesfasen?
Svar: ViewResolver i MVC-arkitektur er ansvarlig for at vælge den ønskede visning.
Når controlleren sender svaret til afsenderservlet, sender den anmodningen til visningsopløseren om at få den korrekte visningsside, der kan sendes til en klientwebbrowser til præsentation.
Spørgsmål nr. 26) Hvad er den største forskel mellem @Requestparam og @PathVariable-kommentar?
Svar: Disse kommentarer bruges til at hente information og data fra en URL.
Men den største forskel mellem dem er, at @Requestparam kun bruges til at hente forespørgselsparametre, og @PathVariable bruges til at hente den komplette URL.
Q # 27) Forklar begrebet Aspect Oriented Programming?
Svar: AOP er en vigtig del af Spring MVC Architecture. AOP bruges til tværgående bekymring og også til applikationer, validering af data, modullogning, transaktionsstyring, godkendelse og objekter.
Der er mange dele af Aspect Oriented Programming. Disse er nævnt nedenfor:
- Aspekt: Aspect er ansvarlig for tværgående bekymringer som transaktionsstyring osv.
- Råd: Det er grundlæggende en handling og metode, der udføres og bruges også til et bestemt sammenføjningspunkt.
- Pointcut: Det er ansvarligt for udførelsen af rådgivning i form af regulære udtryk.
- Fælles punkt: Det er et punkt i applikationen til processer som undtagelseshåndtering, udførelse af metoden, ændring af variable værdier osv.
- Rådgivningsargumenter : Disse argumenter bruges til videregivelse af metoder.
Konklusion
Håber, du ville have fået et komplet overblik over Spring MVC-arkitektur fra denne artikel.
Her har vi dækket den komplette ende-til-slut-strøm af fjeder-MVC-strøm, hvorfor har vi brug for fjeder-MVC? Hvad er de forskellige moduler i MVC-arkitektur? Funktioner i Spring MVC og dispatcher servlet, konceptet med den forreste controller, lyttere og dens funktion, forskellige typer af kommentarer som @Autowired, @Controller, @RequestBody osv.
Vi lærte også mere om View Resolver-konceptet, AOP-processen og forskellige typer controller sammen med dens anvendelser. Lokalisering og interceptors, forskellig arkitektur i Spring Framework og konceptet om det bindende resultat sammen med dets anvendelser.
Vi lærte, hvad der er en Spring container og dens anvendelse i Spring MVC? Brug af konfigurationsfiler i Spring MVC, sti variabel ansvar og betydning. osv. Næsten alle de vigtige og mest forventede spørgsmål om foråret MVC-interview forklares i denne artikel.
Det tilrådes dog altid at forklare med kodeeksempler i realtidsapplikationen for at tilfredsstille interviewerens forventning. Alle koder, der kræves til hvert eneste koncept, er dækket her for at gøre det let for dig.
Vi ønsker dig alt godt!
Anbefalet læsning
- Interviewspørgsmål og svar
- 25 bedste spørgsmål og svar til interview med Agile Testing
- 25+ mest populære ADO.NET interviewspørgsmål og svar
- Nogle vanskelige manuelle testspørgsmål og svar
- ETL Testing Interview Spørgsmål og svar
- Spørgsmål og svar til softwaretest (del 1)
- 40+ populære test-QA-analytikerspørgsmål og svar (2021 LIST)
- Top 25 Funktionstest Interviewspørgsmål og svar