25 top spring mvc interview questions
Mest populära vår-MVC-intervjufrågor med svar för nybörjare och erfarna kandidater:
Spring är ett kraftfullt ramverk som används över hela världen av Java-utvecklare för att utveckla Java Enterprise webbapplikation.
Fjäder MVC står för Model View och Controller. Precis som andra ramstöd baseras våren också på J2EE-teknologier som är JSP och Servlet tillsammans med implementeringen av designmönster Model, View och Controller.
Här kommer vi att undersöka de vanligaste frågorna om vår MVC-intervju med exempel.
Vad du kommer att lära dig:
fri programvara för att åtgärda registerfel
Vår MVC-arkitektur
MVC-arkitekturen har många inbyggda klasser och komponenter som alltid är tillgängliga för utvecklarna för att utveckla en stark och löst kopplad applikation.
Löst kopplat innebär att det inte bör finnas några hårdkodade beroenden mellan klasserna. Detta gör i sin tur uppgiften ganska komplex när det gäller att ändra kod eller funktionalitet i applikationen.
MVC-arkitekturen har sina egna oberoende funktioner. Modellskiktet innehåller alla POJO-klasser och hjälper till med inkapsling av data. View-lager används för att återge data som finns i modelllagret och det genererar kontinuerligt utdata i HTML-format för klienten som vanligtvis tar emot det i en webbläsare.
Slutligen är styrenheten ansvarig för begäran bearbetning och bygga rätt modell och skickar därmed svaret till vyn eller presentationslagret.
I den här artikeln kommer du att gå igenom alla viktiga ämnen i Spring MVC som nämns nedan:
- Arbetsprincipen för våren MVC
- Vårarkitektur
- Begreppet avsändarservlet
- Kartläggning av hanterare
- Kontroller
- Visa beslutsamhet
- Olika lager av fjäder MVC
- Fjäderkärna, fördelar med att använda fjäder MVC
- Vårmoduler
- AOP
- Uttrycksspråk
- Data Access-lager
- Webbmodul
- Aspekter
- Test, etc.
- Inversion av kontroll och beroendeinjektion, om pom.xml-filer.
Låt oss ta en titt på För- och nackdelarna med Spring MVC !!
Fördelar med vår MVC
Nedan listas de olika fördelarna med Spring MVC:
- Eftersom den är väldigt liten ger den hög prestanda med färre problem.
- Den har hög produktivitet vilket i sin tur ökar utvecklingen.
- Det är mycket säkert eftersom det använder Spring SPI och används mest av alla banker för sina webbapplikationer.
- Vi kan utveckla modulära applikationer, eftersom det stöder Model View och controller-arkitektur.
- Den stöder komplett testdriven utveckling, vilket är för bra.
- Hittills är den bäst lämpad för agila utvecklingswebapplikationer över hela världen av utvecklare.
- Den har en ansvars- och rollseparationsfunktion som förenklar uppgifter.
- Det ger stöd för RESTful service.
- Den stöder teman, internationalisering, andra databasramar, JPA, flera visningar och gemenskapsstöd.
Nackdelar med vår MVC
Nedan följer några av nackdelarna med Spring MVC:
- Inlärningskurvan för Spring Framework och dess MVC-arkitektur är lite komplex för utvecklare eftersom den har få komplexa begrepp.
- Våren har förändrad natur som XML-baserade eller annoteringsbaserade och det blir i sin tur svårt att följa upp ibland.
- Mycket mindre specifikation i vår MVC.
- Om jar-filen inte är tillgänglig körs inte applikationen korrekt.
- Mycket stora konfigurationsproblem, många kontroller att hantera, många view resolver att kontrollera, etc.
Top Spring MVC intervjufrågor
Nedan finns de viktigaste intervjufrågorna för Spring MVC. Försök få konceptet för varje fråga, så att det kommer att vara till stor hjälp för att förklara för intervjuaren. Försök alltid att ge eller korrelera med exempel på applikationer i realtid. Dessa är också till hjälp för erfarna proffs.
F # 1) Vad är vårramen och varför är den så populär?
Svar: Spring Framework är en lätt ram som används för att utveckla löst kopplade Java-webbapplikationer.
Det ger en inbyggd container, beroendeinjektion och MVC-arkitektur. Det är väldigt populärt eftersom det möjliggör frikoppling, återanvändbarhet och ger designmönster som singleton, fabrik för att minska kodlängden, etc. och också tar bort svaga anslutningar och har kraftfull integration med tredje part.
F # 2) Vad är Spring MVC?
Svar: Spring MVC följer konceptet Model, View och Controller.
Det är en instans av en styrenhet som delas ensam och hjälper också till att hantera flera förfrågningar som körs i Inversion av kontrollbehållare som avlyssnare och styrenheter. Spring MVC-mönstret hjälper till att skilja de aspekter av applikationen som inkluderar input, affärs- och presentationslogik.
F # 3) Vilka är kärnfunktionerna i Spring Framework?
Svar:
Kärnfunktionerna i Spring MVC är:
- Det kan effektivt konfigurera ramverket och klasserna som bönor. Det delar också funktionella roller och ansvar separat.
- Det gör det möjligt att definiera en obegränsad styrmetod som gör applikationen mycket justerbar och flexibel.
- Det ger bra anpassning för hantering av kartläggning, bindning, upplösning och validering.
- Det hjälper till att överföra modellen med hjälp av en karta. Det ger också stöd för hastighet, JSTL, JSP, och användaren kan anpassa språk och temaupplösning.
- Spring har ett eget taggbibliotek som gör det mer flexibelt och stöder databindning, teman, bönor som har livscykel upp till HTTP-begäran.
F # 4) Förklara konceptet för Dispatcher Servlet.
Svar: Dispatcher Servlet är den centrala centrala servlet som hanterar alla inkommande HTTP-förfrågningar och svar. Den har integration med Spring IOC, och därmed gör det möjligt att använda alla funktioner i Spring.
När avsändarservlet tar emot en begäran vidarebefordrar den det till hanterarkartläggning för att få en lämplig styrenhet, och nu kommer styrenheten att anropa rätt servicemetod och återigen skickar den tillbaka till avsändarservlet.
Återigen skickar servlet begäran till visningsupplösaren för att få den önskade vyn och sedan skickar den svaret till klientens webbläsare.
Kodexempel för att visa avsändarens servletanvändning:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
F # 5) Vad är användningen av ContextLoaderListner i Spring MVC?
Svar: Den används för att läsa och analysera vårkonfigurationsfilen och bearbeta laddningen av bönor i den konfigurationsfilen.
Kodexempel:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
F # 6) Förklara den främre styrenhetsklassen för Spring MVC.
Svar: Front Controller är ansvarig för att hantera hela en inkommande begäran om en applikation. Under våren MVC fungerar avsändarservlet som en främre styrenhet och hanterar hela inkommande förfrågningar.
F # 7) Förklara funktionen för @Autowired Annotation.
Svar: Kommentaren @Autowired är ansvarig för att injicera en böna efter dess typ tillsammans med fälten och metoderna. Därmed hjälper vårramen med att lösa och injicera samarbetsbönor i vår böna.
Exempel:
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(); } }
F # 8) Vilken funktion har attributet Model Attribute?
Svar: @ModelAttribute-kommentar spelar en viktig roll i Spring MVC-ramverket. Den ansvarar för bindningsmetodparametern med respektive modellattribut och visar den sedan på presentationssidan.
Det beror också på vad utvecklaren använder i modellattributanteckningen . Om den används på metodnivå indikerar det att metoden är ansvarig för att lägga till attribut. När den används som en parameter indikerar den att parametervärdet ska hämtas från modellskiktet.
F # 9) Förklara konceptet och funktionen för Path Variable.
Svar: @ PathVariable är en kommentar som används som en parameter i hanteringsmetoden för att extrahera URI-mallens värde.
Exempel:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
F # 10) Vilken funktion har kommentaren @RequestBody?
Svar: Kommentaren @RequestBody ansvarar för att binda HTTP-kroppsförfrågan till ett domänobjekt. Den inkommande HTTP-begäran avserialiseras automatiskt till Java-objektet av Spring med hjälp av HTTP-meddelandekonverterarna.
F # 11) Vilken funktion har kommentaren @ResponseBody?
Svar: När @ResponseBody-anteckningen används i MVC-styrenheten indikerar det att utvecklaren behöver skriva en returtyp av deklarerad metod direkt till HTTP-svarskroppen. Här krävs ingen åberopande av modellen och visningsnamnet tolkas inte av våren.
F # 12) Varför behöver vi View Resolver i Spring MVC och vad är en intern view resolver på våren?
Svar: View Resolver ansvarar för rendering av modeller i webbläsaren. Det kräver inga specifika visningstekniker som JSP, XML och Velocity, etc.
“InternalResourceViewResolver” är den interna vyupplösaren i vår-MVC.
Det finns några viktiga bildupplösare i Spring MVC som nämns nedan:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver etc.
F # 13) Förklara arbetsprincipen för Spring MVC Framework.
Svar:
Nedanstående diagram hjälper till att förstå flödet:
Som vi vet är det baserat på konceptet Model, View och Controller. Dispatcher Servlet tar emot HTTP-begäran beroende på den servlet-mappning som görs i web.xml.
När förfrågan har mottagits av Dispatcher Servlet skickar den samma begäran till hanteringskartläggningen för att få önskad kontrollerklass. Hanterarens kartläggning nämns i vårkonfigurationsfilen.
Återigen skickas begäran till styrenheten och styrenheten behandlar begäran och metoden och skickar tillbaka det önskade modellvyobjektet till avsändarservlet.
Nu skickas förfrågan till vyupplösaren av en servlet för att få presentationen av visningssidan.
Slutligen skickar Dispatcher Servlet modellen till presentationssidan och densamma återges till en klientwebbläsare.
F # 14) Vad är syftet med att använda BindingResults?
Svar: BindingResults är ett av gränssnitten på våren som kommer under paketet org. Springframework .godkännande och används för att representera de bindande resultaten.
Det spelar en praktisk roll för att upptäcka fel från de inlämnade blanketterna. Det har en enkel och enkel åberopningsprocess. Utvecklaren måste komma ihåg att sätta bindningsresultatet som en parameter strax efter objektets validering.
Syntax:
@PostMapping('/client') public String submitpage(@Valid NewUserPage newUserPage, BindingResult result, Model model) { if (result.hasErrors()) { return 'uHome'; } model.addAttribute('message', 'Valid Page'); return 'uHome'; }
Här kommer Spring-ramverket att förstå genom att läsa @Valid-anteckningen och försöka hitta dess validator.
F # 15) Förklara arkitekturen Model 1 och Model 2 i Spring Framework.
Svar: Dessa är de två viktiga designmodellerna för att utveckla webbapplikationer.
Modell 1:
Här hanteras den inkommande begäran av servlet eller en JSP. Servlet eller JSP-sidan är ansvarig för hantering, bearbetning av begäran, kontroll av affärslogiken, validering av data och slutligen för att generera svaret.
Det är enkelt och har en enkel arkitektur och föredras mest av små industrier för att utveckla enkla applikationer.
Modell 2:
Det är en viktig designmodell och baseras på Model View Controller-konceptet. Den kan separera presentationen och logikavsnittet som manipulerar koden.
Denna modell är robust, pålitlig och undviker dubbelhet. Det är bra för att bygga stora och komplexa applikationer.
F # 16) Förklara funktionen för våren MVC-avlyssnare tillsammans med dess användning.
Svar: Avlyssnare spelar en praktisk roll i Spring MVC. De används för att fånga upp förfrågan från klienten, behandla förfrågan vid olika tidpunkter som innan hanteringen av förfrågan, efter hanteringen av förfrågan och efter avslutad presentationsdel, dvs. visa sidan, etc.
Den används också från tvärgående problem och minskar upprepningen av kodhanteraren som en modifiering av globala parametrar i modellen senare, loggning etc.
F # 17) Är det tillåtet att använda flera fjäderkonfigurationsfiler i Spring MVC?
Svar: Ja, Spring tillåter att ha flera konfigurationsfiler i en applikation.
Det finns huvudsakligen två sätt att uppnå detta och dessa sätt nämns nedan:
(i) Utvecklaren måste deklarera alla filer på web.xml med parametern:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ii) Utvecklaren kan importera filer till den befintliga konfigurationen.
F # 18) Förklara funktionerna för följande kommentarer: @Component, @Controller, @Repository, @Service.
Svar: Det här är de viktiga anteckningarna i Spring MVC. Låt oss titta på dem.
@Komponent: Denna kommentar är ansvarig för att konvertera en java-klass till bönan så att den kan kännas igen av våren och användas i applikationens sammanhang.
Syntax:
prioritetskö c ++ implementering
@Component public class StudentDAOImpl implements StudentDAO { ... }
@Repository: Denna kommentar har samma användning som @Component, men dessutom tar den också hänsyn till de okontrollerade undantagen som kan användas under våren.
@Service: Denna kommentar omvandlar också java-klass till bönan, men det är bättre att använda @service-anteckning än @component eftersom det ger bättre specifikationer i en realtidsapplikation.
@Kontroller: Om vi vill skapa någon klass som kontroller måste vi ange denna kommentar.
F # 19) Vilken roll har Multipart-resolver och när används den?
Svar: Multipart Resolver ansvarar för att ladda upp filen i en webbapplikation. Två implementeringar för det är commonsMultipartResolver och StandardServletMultipartResolver.
F # 20) Hur stöder Spring MVC validering?
Svar: Spring tillhandahåller valideringsstöd på två sätt - det vill säga huvudsakligen med JSR 303-kommentar och Validator-gränssnitt.
F # 21) Hur uppnås lokalisering i vår MVC-webbapplikationer?
Svar: Spring MVC är konfigurerad med LocaleResolver för att stödja både internationalisering och lokalisering. För att göra detta möjligt måste vissa bönor registreras som nämns nedan.
SessionLocaleResolver - Det tar hjälp av de redan definierade attributen i användarsessionen för att lösa språk.
Syntax:
LocaleChangeInterceptor - Det är användbart när det finns en parameter i den inkommande begäran.
Syntax:
F # 22) Förklara begreppet rotapplikationskontext i Spring MVC tillsammans med dess laddningsprocess.
Svar: ContextLoaderListner är känt som rotapplikationskontext i Spring MVC och används av hela applikationen.
Det är en lyssnare som hjälper våren MVC att starta. Den används för att ladda och skapa applicationContext, för att undvika att skriva explicit kod. Fjäderböna definieras i applikationskontext.
Generellt används dispatcherServlet för att specificera servlets i vår-MVC.
F # 23) Vilken roll har web.xml i Spring MVC och var ligger den?
Svar: I web.xml konfigurerar vi ContextLoaderListner. När vi distribuerar applikationen skapas en instans av behållaren Servlet för ContextLoaderListner och sedan leder den till laddning av webApplicationContext.
F # 24) Beskriv några returtyper för styrenhetsmetoden.
Svar: Några av de viktiga returtyperna för styrenhetsmetoderna inkluderar String, void, view, ModelAndView, Model, Map, HttpHeaders, etc.
F # 25) På vilken grund väljs en vy i återgivningsfasen?
Svar: ViewResolver i MVC-arkitektur är ansvarig för att välja önskad vy.
När styrenheten skickar svaret till avsändarservleten, skickar den begäran till visningsupplösaren om att få rätt visningssida som kan skickas till en klientwebbläsare för presentation.
F # 26) Vad är den största skillnaden mellan @Requestparam och @PathVariable-kommentar?
Svar: Dessa anteckningar används för att hämta information och data från en URL.
Men den största skillnaden mellan dem är att @Requestparam används bara för att hämta fråge parametrar och @PathVariable används för att hämta hela URL: en.
F # 27) Förklara konceptet Aspect Oriented Programming?
Svar: AOP är en viktig del av Spring MVC Architecture. AOP används för tvärgående skärpning och även för applikationer, validering av data, modulloggning, transaktionshantering, autentisering och objekt.
Det finns många delar av Aspect Oriented Programming. Dessa nämns nedan:
- Aspekt: Aspect ansvarar för övergripande problem som transaktionshantering etc.
- Råd: Det är i grunden en åtgärd och metod som körs och används också för en angiven kopplingspunkt.
- Pekskärm: Det är ansvarigt för genomförandet av råd i termer av reguljära uttryck.
- Gemensam punkt: Det är en punkt i applikationen för processer som undantagshantering, körning av metoden, ändring av variabla värden etc.
- Rådargument : Dessa argument används för att skicka metoder.
Slutsats
Hoppas, du skulle ha fått en fullständig översikt över vår MVC-arkitektur från den här artikeln.
Här har vi täckt hela fjärde MVC-flödet från början till slut. Varför behöver vi fjäder-MVC? Vilka är de olika modulerna i MVC-arkitektur? Funktioner i Spring MVC och dispatcher servlet, konceptet för den främre styrenheten, lyssnare och dess funktion, olika typer av kommentarer som @Autowired, @Controller, @RequestBody, etc.
Vi lärde oss också mer om View Resolver-koncept, AOP-process och olika typer av styrenhet tillsammans med dess användningsområden. Lokalisering och avlyssnare, annorlunda arkitektur för Spring Framework och konceptet för det bindande resultatet tillsammans med dess användningsområden.
Vi fick veta vad som är en Spring container och dess användning i Spring MVC? Användning av konfigurationsfiler i våren MVC, sökvägsansvar och betydelse. etc Nästan alla viktiga och mest förväntade frågor om våren MVC intervju förklaras i den här artikeln.
Det är dock alltid tillrådligt att förklara med kodexempel i realtidsapplikationen för att tillfredsställa intervjuarens förväntningar. Alla koder som krävs för varje koncept täcks här för att göra det lättare för dig.
Vi önskar er all lycka!
Rekommenderad läsning
- Intervjufrågor och svar
- 25 bästa intervjuer och svar på Agile Testing
- 25+ mest populära ADO.NET intervjufrågor och svar
- Några knepiga manuella testfrågor och svar
- ETL Testing Intervju Frågor och svar
- Frågor och svar om programvarutestning (del 1)
- 40+ populära test QA-analytikerintervjuer och svar (2021 LIST)
- Topp 25 Funktionella testintervjuer och svar