25 top spring mvc interview questions
Meest populaire voorjaars-MVC-interviewvragen met antwoorden voor beginnende en ervaren kandidaten:
Spring is een krachtig raamwerk dat door Java-ontwikkelaars over de hele wereld wordt gebruikt om Java Enterprise Web-applicatie te ontwikkelen.
Spring MVC staat voor Model View en Controller. Net als andere framework Struts, is Spring ook gebaseerd op J2EE-technologieën die JSP en Servlet zijn, samen met de implementatie van ontwerppatroon Model, View en Controller.
Hier zullen we de meest gestelde Spring MVC-interviewvragen met voorbeelden verkennen.
Wat je leert:
beste gratis firewall voor windows xp
Lente MVC-architectuur
De MVC-architectuur heeft veel ingebouwde klassen en componenten die altijd beschikbaar zijn voor de ontwikkelaars om een sterke en losjes gekoppelde applicatie te ontwikkelen.
Losjes gekoppeld betekent dat er geen hard-coded afhankelijkheden tussen de klassen mogen zijn. Dit maakt de taak op zijn beurt behoorlijk complex als het gaat om het wijzigen van code of functionaliteit van de applicatie.
MVC-architectuur heeft zijn eigen onafhankelijke functies. De modellaag bevat alle POJO-klassen en helpt bij het inkapselen van gegevens. De weergavelaag wordt gebruikt om de gegevens die aanwezig zijn in de modellaag weer te geven en het blijft output genereren in het HTML-formaat voor de klant die deze gewoonlijk in een webbrowser ontvangt.
Ten slotte is de controller verantwoordelijk voor het verwerken van aanvragen en het bouwen van het juiste model en stuurt hij daarmee het antwoord naar de view- of presentatielaag.
In dit artikel bespreek je alle belangrijke onderwerpen van Spring MVC, zoals hieronder vermeld:
- Het werkingsprincipe van Spring MVC
- Lente architectuur
- Het concept van dispatcher-servlet
- Handler-toewijzing
- Controller
- Bekijk oplossing
- Verschillende lagen Spring MVC
- Veerkern, voordelen van het gebruik van Spring MVC
- Lente modules
- AOP
- Expressie taal
- Data Access-laag
- Webmodule
- Aspecten
- Test, enz
- Inversie van controle en afhankelijkheidsinjectie, over pom.xml-bestanden.
Laten we eens kijken naar de voor- en nadelen van Spring MVC !!
Voordelen van Spring MVC
Hieronder staan de verschillende voordelen van Spring MVC vermeld:
- Omdat het erg klein is, levert het hoge prestaties met minder problemen.
- Het heeft een hoge productiviteit die op zijn beurt de ontwikkeling verhoogt.
- Het is zeer veilig omdat het Spring SPI gebruikt en het wordt meestal door alle banken gebruikt voor hun webapplicaties.
- We kunnen modulaire applicaties ontwikkelen, omdat het Model View en controllerarchitectuur ondersteunt.
- Het ondersteunt volledige Test Driven Development, wat te goed is.
- Tot nu toe is het het meest geschikt voor agile ontwikkeling van webapplicaties over de hele wereld door ontwikkelaars.
- Het heeft een functie voor het scheiden van verantwoordelijkheden en rollen die taken vereenvoudigen.
- Het biedt ondersteuning voor RESTful-service.
- Het ondersteunt thema's, internationalisering, andere databaseframeworks, JPA, meerdere weergaven en community-ondersteuning.
Nadelen van Spring MVC
Geef hieronder enkele van de nadelen van Spring MVC:
- De leercurve van het Spring-framework en de MVC-architectuur is een beetje complex voor ontwikkelaars omdat het weinig complexe concepten heeft.
- De lente heeft een veranderend karakter, zoals op XML gebaseerde of op annotaties gebaseerde versies, en dat wordt op zijn beurt soms moeilijk op te volgen.
- Zeer minder specificatie in Spring MVC.
- Als het jar-bestand niet beschikbaar is, zal de applicatie niet correct werken.
- Zeer grote configuratieproblemen, veel controllers om af te handelen, veel view resolver om te bedienen, enz.
Top Spring MVC interviewvragen
Hieronder staan de belangrijkste interviewvragen voor Spring MVC vermeld. Probeer het concept van elke vraag te begrijpen, zodat het erg nuttig zal zijn bij het uitleggen aan de interviewer. Probeer altijd voorbeelden van real-time applicaties te geven of ermee te correleren. Deze zijn ook nuttig voor ervaren professionals.
V # 1) Wat is het Spring Framework en waarom is het zo populair?
Antwoord: Spring Framework is een lichtgewicht framework dat wordt gebruikt om losjes gekoppelde Java-webapplicaties te ontwikkelen.
Het biedt een ingebouwde container, afhankelijkheidsinjectie en MVC-architectuur. Het is erg populair omdat het ontkoppeling en herbruikbaarheid mogelijk maakt en ontwerppatronen biedt zoals singleton, fabriek om de codelengte te verminderen, enz. En ook zwakke verbindingen verwijdert en krachtige integratie met de derde partij heeft.
Q # 2) Wat is Spring MVC?
Antwoord: Spring MVC volgt het concept van Model, View en Controller.
Het is een instantie van een controller die alleen wordt gedeeld en die ook helpt bij het afhandelen van verschillende verzoeken die worden uitgevoerd in Inversion of Control-containers zoals interceptors en controllers. Het Spring MVC-patroon helpt om de aspecten van de applicatie te scheiden die invoer-, bedrijfs- en presentatielogica bevatten.
V # 3) Wat zijn de belangrijkste kenmerken van het Spring Framework?
Antwoord:
Kernkenmerken van Spring MVC zijn:
- Het is in staat om het raamwerk en de klassen effectief als bonen te configureren. Het verdeelt ook de functionele rollen en verantwoordelijkheden afzonderlijk.
- Het maakt de definitie mogelijk van een onbeperkte controllermethode, wat de applicatie zeer aanpasbaar en flexibel maakt.
- Het biedt goede aanpassingen voor handlertoewijzing, binding, weergaveresolutie en validaties.
- Het helpt om het model over te dragen met behulp van een kaart. Het biedt ook ondersteuning voor velocity, JSTL, JSP, en de gebruiker kan de locale en thema-resolutie aanpassen.
- Spring heeft zijn eigen tagbibliotheek die het flexibeler maakt en gegevensbinding, thema's en bonen ondersteunt met een levenscyclus tot HTTP-verzoek.
V # 4) Leg het concept van de Dispatcher Servlet uit.
Antwoord: Dispatcher Servlet is de belangrijkste centrale servlet die alle inkomende HTTP-verzoeken en -antwoorden afhandelt. Het is geïntegreerd met Spring IOC en maakt het dus mogelijk om alle functies van Spring te gebruiken.
Zodra de verzender-servlet een verzoek ontvangt, stuurt het dit door naar de handlertoewijzing om een geschikte controller te krijgen, en nu zal de controller de juiste servicemethode aanroepen en opnieuw sturen naar de verzender-servlet.
Nogmaals, de servlet stuurt het verzoek naar de view resolver voor het verkrijgen van de vereiste view en vervolgens stuurt het het antwoord naar de client browser.
Codevoorbeeld om het gebruik van de servlet van de dispatcher te tonen:
V # 5) Wat is het gebruik van ContextLoaderListner in Spring MVC?
Antwoord: Het wordt gebruikt om het Spring-configuratiebestand te lezen en te ontleden en het laden van bonen in dat configuratiebestand te verwerken.
Code Voorbeeld:
Q # 6) Leg de frontcontrollerklasse van Spring MVC uit.
Antwoord: Front Controller is verantwoordelijk voor het afhandelen van de volledige inkomende aanvraag van een applicatie. In Spring MVC fungeert de dispatcher-servlet als een frontcontroller en verwerkt de volledige inkomende verzoeken.
Q # 7) Leg de functie uit van @Autowired Annotation.
Antwoord: De @Autowired-annotatie is verantwoordelijk voor het injecteren van een boon op type, samen met de velden en methoden. Daardoor helpt het Spring-raamwerk bij het oplossen en injecteren van samenwerkende bonen in onze boon.
Voorbeeld:
V # 8) Wat is de functie van modelattribuutannotatie?
Antwoord: De annotatie van @ModelAttribute speelt een cruciale rol in het Spring MVC-framework. Het is verantwoordelijk voor de bindingsmethode-parameter met het respectieve modelattribuut en toont het vervolgens op de presentatiepagina.
Het hangt ook af van wat de ontwikkelaar gebruikt in de annotatie van het modelattribuut Als het op methodeniveau wordt gebruikt, geeft dit aan dat de methode verantwoordelijk is om attributen toe te voegen. Als het als parameter wordt gebruikt, geeft het aan dat de parameterwaarde moet worden opgehaald uit de modellaag.
Vraag 9) Leg het concept en de functie van de padvariabele uit.
Antwoord: De @PathVariable is een annotatie die wordt gebruikt als parameter in de handlermethode voor het extraheren van de waarde van de URI-sjabloon.
Voorbeeld:
V # 10) Wat is de functie van annotatie @RequestBody?
Antwoord: De @RequestBody-annotatie is verantwoordelijk voor het binden van het HTTP-body-verzoek aan een domeinobject. Het inkomende HTTP-verzoek wordt door Spring automatisch gedeserialiseerd naar het Java-object met behulp van de HTTP-berichtconversieprogramma's.
V # 11) Wat is de functie van annotatie @ResponseBody?
Antwoord: Wanneer de @ResponseBody-annotatie wordt gebruikt in de MVC-controller, geeft dit aan dat de ontwikkelaar een retourtype van de gedeclareerde methode rechtstreeks naar de HTTP-antwoordtekst moet schrijven. Hier is het aanroepen van het model niet vereist en wordt de viewnaam niet geïnterpreteerd door Spring.
V # 12) Waarom hebben we View Resolver nodig in Spring MVC en wat is een internal view resolver in Spring?
Antwoord: View Resolver is verantwoordelijk voor het weergeven van modellen in de webbrowser. Het vereist geen specifieke weergavetechnologieën zoals JSP, XML en Velocity, enz.
De 'InternalResourceViewResolver' is de interne view resolver in de Spring MVC.
Er zijn enkele belangrijke view resolver’s in Spring MVC, zoals hieronder vermeld:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver enz.
V # 13) Leg het werkingsprincipe van het Spring MVC Framework uit.
Antwoord:
Het onderstaande diagram zal helpen om de stroom te begrijpen:
Zoals we weten, is het gebaseerd op het concept van Model, View en Controller. Dispatcher Servlet ontvangt het HTTP-verzoek afhankelijk van de servlet-mapping uitgevoerd in web.xml.
Zodra het verzoek is ontvangen door de Dispatcher Servlet, stuurt het hetzelfde verzoek naar de handlertoewijzing om de vereiste controllerklasse op te halen. Handlertoewijzing wordt vermeld in het Spring-configuratiebestand.
Opnieuw wordt het verzoek naar de controller gestuurd, en de controller verwerkt het verzoek en de methode en stuurt het vereiste modelview-object terug naar de verzender-servlet.
Nu wordt het verzoek door een servlet naar de view resolver gestuurd om de presentatie van de view pagina te krijgen.
Ten slotte geeft de Dispatcher Servlet het model door aan de presentatiepagina en hetzelfde wordt weergegeven in een clientbrowser.
V # 14) Wat is het doel van het gebruik van BindingResults?
Antwoord: BindingResults is een van de interfaces in Spring die onder het pakket valt org. Lenteframework .validatie en wordt gebruikt om de bindingsresultaten weer te geven.
Het speelt een handige rol bij het opsporen van fouten in de ingediende formulieren. Het heeft een eenvoudig en gemakkelijk aanroepproces. De ontwikkelaar moet er rekening mee houden dat het resultaat van de binding als parameter net na het valideren van het object wordt ingevoerd.
Syntaxis:
Hier begrijpt het Spring-framework het door de @Valid-annotatie te lezen en zal het proberen de validator ervan te vinden.
V # 15) Leg de Model 1- en Model 2-architectuur van Spring Framework uit.
Antwoord: Dit zijn de twee belangrijke ontwerpmodellen voor het ontwikkelen van webapplicaties.
Model 1:
Hier wordt het inkomende verzoek afgehandeld door de servlet of een JSP. De servlet of JSP-pagina is verantwoordelijk voor het afhandelen, verwerken van het verzoek, het controleren van de bedrijfslogica, het valideren van gegevens en tot slot voor het genereren van het antwoord.
Het is eenvoudig en heeft een gemakkelijke architectuur en wordt vooral geprefereerd door kleinschalige industrieën om eenvoudige toepassingen te ontwikkelen.
Model 2:
Het is een belangrijk ontwerpmodel en is gebaseerd op het Model View Controller-concept. Het is in staat om de presentatie en de logische sectie die de code manipuleert, te scheiden.
youtube naar mp3 converter geen virus
Dit model is robuust, betrouwbaar en vermijdt dubbelhartigheid. Het is goed voor het bouwen van grote en complexe applicaties.
V # 16) Leg de functie van de Spring MVC-interceptor uit, samen met het gebruik ervan.
Antwoord: Interceptors spelen een handige rol in Spring MVC. Ze worden gebruikt om het verzoek van de klant te onderscheppen, het verzoek op verschillende tijdstippen te verwerken, zoals vóór de behandeling van het verzoek, na afhandeling van het verzoek en na voltooiing van het presentatiegedeelte, d.w.z. pagina bekijken, enz.
Het wordt ook gebruikt voor transversale problemen en vermindert de herhaling van de codehandler, zoals een latere wijziging van globale parameters in het model, logboekregistratie, enz.
V # 17) Is het toegestaan om meerdere Spring-configuratiebestanden te gebruiken in Spring MVC?
Antwoord: Ja, Spring staat toe om meerdere configuratiebestanden in één applicatie te hebben.
Er zijn hoofdzakelijk twee manieren om dit te bereiken en die manieren worden hieronder vermeld:
(i) De ontwikkelaar moet alle bestanden in web.xml declareren met behulp van de parameter:
(ii) De ontwikkelaar kan bestanden importeren in de bestaande configuratie.
Vraag 18) Verklaar de functies van de volgende annotaties: @Component, @Controller, @Repository, @Service.
Antwoord: Dit zijn de belangrijke annotaties in Spring MVC. Laten we ze eens bekijken.
@Component: Deze annotatie is verantwoordelijk voor het converteren van een Java-klasse naar de bean, zodat deze kan worden herkend door Spring en kan worden gebruikt in de toepassingscontext.
Syntaxis:
@Repository: Deze annotatie heeft hetzelfde gebruik als die van @Component, maar houdt daarnaast ook rekening met de ongecontroleerde uitzonderingen die in Spring kunnen worden gebruikt.
@Onderhoud: Deze annotatie converteert ook de Java-klasse naar de bean, maar het is beter om @service-annotatie te gebruiken dan @component, omdat het betere specificaties biedt in een real-time applicatie.
@Controller: Als we een klasse als controller willen maken, moeten we deze annotatie specificeren.
V # 19) Wat is de rol van een multipart-resolver en wanneer wordt deze gebruikt?
Antwoord: Multipart Resolver is verantwoordelijk voor het uploaden van het bestand in een webapplicatie. Twee implementaties hiervoor zijn commonsMultipartResolver en StandardServletMultipartResolver.
V # 20) Hoe biedt Spring MVC ondersteuning voor validatie?
Antwoord: Spring biedt validatieondersteuning op twee manieren: voornamelijk door gebruik te maken van JSR 303 annotatie- en validatie-interface.
V # 21) Hoe wordt lokalisatie bereikt in de Spring MVC-webapplicaties?
Antwoord: Spring MVC is geconfigureerd met LocaleResolver voor ondersteuning van zowel internationalisering als lokalisatie. Om dit mogelijk te maken, moeten sommige bonen worden geregistreerd zoals hieronder vermeld.
SessionLocaleResolver - Het vereist de hulp van de reeds gedefinieerde attributen in de gebruikerssessie voor het oplossen van landinstellingen.
Syntaxis:
LocaleChangeInterceptor - Dit is handig als er een parameter aanwezig is in het inkomende verzoek.
Syntaxis:
Vraag 22) Verklaar het concept van de roottoepassingscontext in Spring MVC samen met het laadproces.
Antwoord: ContextLoaderListner staat bekend als de roottoepassingscontext in Spring MVC en wordt gebruikt door de volledige toepassing.
Het is een luisteraar die de Spring MVC helpt bij het opstarten. Het wordt gebruikt voor het laden en maken van de applicationContext, om het schrijven van expliciete code te vermijden. Spring bean wordt gedefinieerd in de toepassingscontext.
Over het algemeen wordt dispatcherServlet gebruikt voor het specificeren van de servlets in de Spring MVC.
V # 23) Wat is de rol van web.xml in Spring MVC en waar bevindt het zich?
Antwoord: In web.xml configureren we de ContextLoaderListner. Wanneer we de applicatie implementeren, wordt een instantie gemaakt door de Servlet-container voor ContextLoaderListner en vervolgens leidt dit tot het laden van de webApplicationContext.
V # 24) Beschrijf enkele retourtypen van de controllermethode.
Antwoord: Enkele van de belangrijke retourtypen van de controllermethoden zijn String, void, view, ModelAndView, Model, Map, HttpHeaders, enz.
V # 25) Op welke basis wordt een weergave gekozen in de weergavefase?
Antwoord: De ViewResolver in MVC-architectuur is verantwoordelijk voor het kiezen van de vereiste weergave.
Wanneer de controller het antwoord naar de verzender-servlet verzendt, verzendt hij het verzoek naar de view resolver voor het verkrijgen van de juiste view-pagina, die voor presentatie naar een webbrowser van een cliënt kan worden gestuurd.
V # 26) Wat is het belangrijkste verschil tussen @Requestparam en @PathVariable annotatie?
Antwoord: Deze annotaties worden gebruikt om informatie en gegevens van een URL op te halen.
Maar het belangrijkste verschil tussen beide is, @Requestparam wordt alleen gebruikt om queryparameters op te halen en @PathVariable wordt gebruikt om de volledige URL op te halen.
V # 27) Verklaar het concept van Aspect Oriented Programming?
Antwoord: AOP is een belangrijk onderdeel van Spring MVC Architecture. AOP wordt gebruikt voor transversale zorg en ook voor toepassingen, validatie van gegevens, logboekregistratie van modules, transactiebeheer, authenticatie en objecten.
Er zijn veel onderdelen van Aspect Oriented Programming. Deze worden hieronder genoemd:
- Aspect: Aspect is verantwoordelijk voor transversale zorgen zoals transactiebeheer enz.
- Advies: Het is in feite een actie en methode die worden uitgevoerd en wordt ook gebruikt voor een opgegeven verbindingspunt.
- Pointcut: Het is verantwoordelijk voor de uitvoering van advies in termen van reguliere uitdrukkingen.
- Gezamenlijk punt: Het is een punt in de applicatie voor processen zoals het afhandelen van uitzonderingen, het uitvoeren van de methode, het veranderen van variabele waarden, etc.
- Advies argumenten : Deze argumenten worden gebruikt voor het doorgeven van methoden.
Gevolgtrekking
Ik hoop dat je in dit artikel een volledig overzicht van de Spring MVC-architectuur zou hebben gekregen.
Hier hebben we de volledige end-to-end stroom van Spring MVC-stroom behandeld. Waarom hebben we Spring MVC nodig? Wat zijn de verschillende modules in MVC-architectuur? Kenmerken van Spring MVC en dispatcher-servlet, het concept van de frontcontroller, Listeners en zijn functie, verschillende soorten annotaties zoals @Autowired, @Controller, @RequestBody, enz.
We hebben ook meer geleerd over het View Resolver-concept, het AOP-proces en de verschillende soorten controller en het gebruik ervan. Lokalisatie en interceptors, verschillende architectuur van het Spring-framework en het concept van het bindende resultaat samen met het gebruik ervan.
We kwamen te weten wat een Spring-container is en het gebruik ervan in Spring MVC? Gebruik van configuratiebestanden in Spring MVC, padvariabele verantwoordelijkheden en belang. etc Bijna alle belangrijke en meest verwachte Spring MVC-interviewvragen worden in dit artikel uitgelegd.
Het is echter altijd raadzaam om uit te leggen met codevoorbeelden in de real-time applicatie om aan de verwachting van de interviewer te voldoen. Alle codes die voor elk concept vereist zijn, worden hier behandeld zodat u ze gemakkelijk kunt begrijpen.
We wensen je het allerbeste!
Aanbevolen literatuur
- Interview vragen en antwoorden
- 25 Beste Agile Testing Interview Vragen en Antwoorden
- 25+ meest populaire ADO.NET interviewvragen en antwoorden
- Enkele lastige vragen en antwoorden voor handmatig testen
- Vragen en antwoorden over ETL-tests
- Vragen en antwoorden over softwaretests (deel 1)
- Meer dan 40 populaire vragen en antwoorden voor interviews met QA-analisten (2021 LIST)
- Top 25 vragen en antwoorden over functioneel testen