25 top spring mvc interview questions
Die beliebtesten Fragen zu MVC-Interviews im Frühjahr mit Antworten für Einsteiger und erfahrene Kandidaten:
Spring ist ein leistungsstarkes Framework, das von Java-Entwicklern weltweit zur Entwicklung von Java Enterprise-Webanwendungen verwendet wird.
Spring MVC steht für Model View und Controller. Wie andere Framework-Struts basiert Spring auch auf J2EE-Technologien wie JSP und Servlet sowie auf der Implementierung von Design Pattern Model, View und Controller.
Hier werden wir die am häufigsten gestellten Fragen zu Spring MVC-Interviews anhand von Beispielen untersuchen.
Was du lernen wirst:
unabhängige unvoreingenommene Bewertungen der kostenlosen 64-Bit-Firewall
Spring MVC-Architektur
Die MVC-Architektur verfügt über viele integrierte Klassen und Komponenten, die den Entwicklern jederzeit zur Verfügung stehen, um eine starke und lose gekoppelte Anwendung zu entwickeln.
Locker gekoppelt bedeutet, dass zwischen den Klassen keine fest codierten Abhängigkeiten bestehen sollten. Dies wiederum macht die Aufgabe ziemlich komplex, wenn es darum geht, Code oder Funktionalität der Anwendung zu ändern.
Die MVC-Architektur verfügt über eigene unabhängige Funktionen. Die Modellschicht enthält alle POJO-Klassen und hilft bei der Kapselung von Daten. Die Ansichtsebene wird zum Rendern der in der Modellebene vorhandenen Daten verwendet und generiert weiterhin Ausgaben im HTML-Format für den Client, der sie normalerweise in einem Webbrowser empfängt.
Schließlich ist der Controller für die Anforderungsverarbeitung und das Erstellen des richtigen Modells verantwortlich und sendet dadurch die Antwort an die Ansichts- oder Präsentationsschicht.
In diesem Artikel werden Sie alle wichtigen Themen von Spring MVC wie folgt behandeln:
- Das Arbeitsprinzip von Spring MVC
- Frühlingsarchitektur
- Das Konzept des Dispatcher-Servlets
- Handler-Zuordnung
- Regler
- Auflösung anzeigen
- Verschiedene Schichten von Spring MVC
- Federkern, Vorteile der Verwendung von Spring MVC
- Federmodule
- AOP
- Ausdruckssprache
- Datenzugriffsschicht
- Webmodul
- Aspekte
- Test usw.
- Inversion der Steuerung und Abhängigkeitsinjektion über pom.xml-Dateien.
Werfen wir einen Blick auf die Vor- und Nachteile von Spring MVC!
Vorteile des Frühlings MVC
Nachfolgend sind die verschiedenen Vorteile von Spring MVC aufgeführt:
- Da es sehr klein ist, bietet es eine hohe Leistung mit weniger Problemen.
- Es hat eine hohe Produktivität, was wiederum die Entwicklung steigert.
- Es ist sehr sicher, da es Spring SPI verwendet und hauptsächlich von allen Banken für ihre Webanwendungen verwendet wird.
- Wir können modulare Anwendungen entwickeln, da diese die Modellansicht und die Controller-Architektur unterstützen.
- Es unterstützt die vollständige testgetriebene Entwicklung, was zu gut ist.
- Bisher eignet es sich am besten für agile Entwicklungswebanwendungen auf der ganzen Welt von Entwicklern.
- Es verfügt über eine Funktion zur Verantwortung und Rollentrennung, die Aufgaben vereinfacht.
- Es bietet Unterstützung für den RESTful-Service.
- Es unterstützt Themen, Internationalisierung, andere Datenbank-Frameworks, JPA, mehrere Ansichten und Community-Unterstützung.
Nachteile des Frühlings MVC
Nachfolgend sind einige der Nachteile von Spring MVC aufgeführt:
- Die Lernkurve des Spring-Frameworks und seiner MVC-Architektur ist für Entwickler etwas komplex, da es nur wenige komplexe Konzepte enthält.
- Spring hat eine sich ändernde Natur wie XML-basierte oder Annotation-basierte und dies wird manchmal schwierig zu verfolgen.
- Sehr wenig Spezifikation in Spring MVC.
- Wenn die JAR-Datei nicht verfügbar ist, wird die Anwendung nicht ordnungsgemäß ausgeführt.
- Sehr große Konfigurationsprobleme, viele zu behandelnde Controller, viele zu steuernde View Resolver usw.
Top Spring MVC Interview Fragen
Nachfolgend sind die wichtigsten Interviewfragen für Spring MVC aufgeführt. Versuchen Sie, das Konzept jeder Frage zu verstehen, damit es dem Interviewer sehr hilfreich ist, es zu erklären. Versuchen Sie immer, Beispiele für Echtzeitanwendungen anzugeben oder mit diesen zu korrelieren. Diese sind auch für erfahrene Profis hilfreich.
F # 1) Was ist das Spring Framework und warum ist es so beliebt?
Antworten: Spring Framework ist ein leichtes Framework, mit dem lose gekoppelte Java-Webanwendungen entwickelt werden.
Es bietet einen eingebauten Container, eine Abhängigkeitsinjektion und eine MVC-Architektur. Es ist sehr beliebt, da es Entkopplung und Wiederverwendbarkeit ermöglicht und Entwurfsmuster wie Singleton, Factory zur Reduzierung der Codelänge usw. bereitstellt. Außerdem werden schwache Verbindungen entfernt und eine leistungsstarke Integration mit Drittanbietern durchgeführt.
F # 2) Was ist Spring MVC?
Antworten: Spring MVC folgt dem Konzept von Modell, Ansicht und Steuerung.
Es handelt sich um eine Instanz eines Controllers, die alleine gemeinsam genutzt wird und auch bei der Verarbeitung mehrerer Anforderungen hilft, die in Inversion of Control-Containern wie Interceptors und Controllern ausgeführt werden. Das Spring MVC-Muster hilft dabei, die Aspekte der Anwendung zu trennen, die Eingabe-, Geschäfts- und Präsentationslogik umfassen.
F # 3) Was sind die Kernfunktionen des Spring Framework?
Antworten:
Hauptmerkmale von Spring MVC sind:
- Es ist in der Lage, das Framework und die Klassen effektiv als Beans zu konfigurieren. Außerdem werden die funktionalen Rollen und Verantwortlichkeiten getrennt aufgeteilt.
- Es ermöglicht die Definition einer unbegrenzten Controller-Methode, die die Anwendung hochgradig anpassbar und flexibel macht.
- Es bietet eine gute Anpassung für Handler-Mapping, Bindung, Ansichtsauflösung und Validierungen.
- Es hilft, das Modell mithilfe einer Karte zu übertragen. Es bietet auch Unterstützung für Geschwindigkeit, JSTL, JSP, und der Benutzer kann das Gebietsschema und die Themenauflösung anpassen.
- Spring verfügt über eine eigene Tag-Bibliothek, die es flexibler macht und Datenbindung, Themen und Beans mit einem Lebenszyklus bis zu HTTP-Anforderungen unterstützt.
F # 4) Erläutern Sie das Konzept des Dispatcher-Servlets.
Antworten: Das Dispatcher-Servlet ist das zentrale Hauptservlet, das alle eingehenden HTTP-Anforderungen und -Antworten verarbeitet. Es ist in Spring IOC integriert und ermöglicht somit die Nutzung aller Funktionen von Spring.
Sobald das Dispatcher-Servlet eine Anforderung empfängt, leitet es diese an die Handlerzuordnung weiter, um einen geeigneten Controller zu erhalten. Jetzt ruft der Controller die richtige Servicemethode auf und sendet sie erneut an das Dispatcher-Servlet zurück.
Das Servlet sendet die Anforderung erneut an den Ansichtsauflöser, um die erforderliche Ansicht abzurufen, und sendet dann die Antwort an den Clientbrowser.
Codebeispiel zur Anzeige der Verwendung von Dispatcher-Servlets:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
F # 5) Wozu dient ContextLoaderListner in Spring MVC?
Antworten: Es wird verwendet, um die Spring-Konfigurationsdatei zu lesen und zu analysieren und das Laden von Beans in diese Konfigurationsdatei zu verarbeiten.
Codebeispiel:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
F # 6) Erläutern Sie die Front-Controller-Klasse von Spring MVC.
Antworten: Front Controller ist dafür verantwortlich, die gesamte eingehende Anforderung einer Anwendung zu bearbeiten. In Spring MVC fungiert das Dispatcher-Servlet als Front-Controller und verarbeitet die gesamten eingehenden Anforderungen.
F # 7) Erläutern Sie die Funktion von @Autowired Annotation.
Antworten: Die Annotation @Autowired ist dafür verantwortlich, eine Bean nach Typ zusammen mit den Feldern und Methoden zu injizieren. Dadurch wird das Spring-Framework beim Auflösen und Injizieren von zusammenarbeitenden Bohnen in unsere Bohnen unterstützt.
Beispiel:
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) Welche Funktion hat die Annotation von Modellattributen?
Antworten: Die Annotation @ModelAttribute spielt im Spring MVC-Framework eine wichtige Rolle. Es ist für den Bindungsmethodenparameter mit dem jeweiligen Modellattribut verantwortlich und zeigt ihn dann der Präsentationsseite an.
Dies hängt auch davon ab, was der Entwickler in der Annotation des Modellattributs verwendet . Wenn es auf Methodenebene verwendet wird, gibt es an, dass die Methode für das Hinzufügen von Attributen verantwortlich ist. Wenn es als Parameter verwendet wird, gibt es an, dass der Parameterwert aus der Modellebene abgerufen werden soll.
F # 9) Erläutern Sie das Konzept und die Funktion der Pfadvariablen.
Antworten: Die @ PathVariable ist eine Annotation, die als Parameter in der Handler-Methode zum Extrahieren des Werts der URI-Vorlage verwendet wird.
Beispiel:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
F # 10) Was ist die Funktion der Annotation @RequestBody?
Antworten: Die Annotation @RequestBody ist für das Binden der HTTP-Body-Anforderung an ein Domänenobjekt verantwortlich. Die eingehende HTTP-Anforderung wird von Spring mithilfe der HTTP-Nachrichtenkonverter automatisch von Spring an das Java-Objekt de-serialisiert.
F # 11) Was ist die Funktion der Annotation @ResponseBody?
Antworten: Wenn die Annotation @ResponseBody im MVC-Controller verwendet wird, gibt dies an, dass der Entwickler eine deklarierte Rückgabemethode direkt in den HTTP-Antworttext schreiben muss. Hier ist das Aufrufen des Modells nicht erforderlich und der Ansichtsname wird von Spring nicht interpretiert.
F # 12) Warum benötigen wir View Resolver in Spring MVC und was ist ein interner View Resolver in Spring?
Antworten: View Resolver ist für das Rendern von Modellen im Webbrowser verantwortlich. Es sind keine spezifischen Ansichtstechnologien wie JSP, XML und Velocity usw. erforderlich.
Der „InternalResourceViewResolver“ ist der interne Ansichtsauflöser in der Spring MVC.
In Spring MVC gibt es einige wichtige Ansichtsauflöser, wie unten erwähnt:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver usw.
F # 13) Erläutern Sie das Arbeitsprinzip des Spring MVC Framework.
Antworten:
Das folgende Diagramm hilft beim Verständnis des Ablaufs:
Wie wir wissen, basiert es auf dem Konzept von Modell, Ansicht und Controller. Das Dispatcher-Servlet empfängt die HTTP-Anforderung abhängig von der Servlet-Zuordnung in der Datei web.xml.
Sobald die Anforderung vom Dispatcher-Servlet empfangen wurde, sendet es dieselbe Anforderung an die Handlerzuordnung, um die erforderliche Controller-Klasse abzurufen. Die Handlerzuordnung wird in der Spring-Konfigurationsdatei erwähnt.
Die Anforderung wird erneut an den Controller gesendet, und der Controller verarbeitet die Anforderung und Methode und sendet das erforderliche Modellansichtsobjekt an das Dispatcher-Servlet zurück.
Jetzt wird die Anforderung von einem Servlet an den Ansichtsauflöser gesendet, um die Darstellung der Ansichtsseite zu erhalten.
Zuletzt übergibt das Dispatcher-Servlet das Modell an die Präsentationsseite und das gleiche wird an einen Client-Browser gerendert.
F # 14) Was ist der Zweck der Verwendung von BindingResults?
Antworten: BindingResults ist eine der Schnittstellen in Spring, die unter das Paket fallen org. Springframework .validierung und wird verwendet, um die Bindungsergebnisse darzustellen.
Es spielt eine praktische Rolle bei der Erkennung von Fehlern aus den übermittelten Formularen. Es hat einen einfachen und einfachen Aufrufprozess. Der Entwickler muss berücksichtigen, dass das Bindungsergebnis unmittelbar nach der Objektvalidierung als Parameter angegeben wird.
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'; }
Hier wird das Spring-Framework durch Lesen der Annotation @Valid verstehen und versuchen, seinen Validator zu finden.
F # 15) Erläutern Sie die Modell 1- und Modell 2-Architektur von Spring Framework.
Antworten: Dies sind die beiden wichtigen Entwurfsmodelle für die Entwicklung von Webanwendungen.
Modell 1:
Hier wird die eingehende Anforderung vom Servlet oder einer JSP verarbeitet. Das Servlet oder die JSP-Seite ist für die Verarbeitung, Verarbeitung der Anforderung, Steuerung der Geschäftslogik, Validierung der Daten und zuletzt für die Generierung der Antwort verantwortlich.
Es ist einfach und hat eine einfache Architektur und wird hauptsächlich von kleinen Industrien bevorzugt, um einfache Anwendungen zu entwickeln.
Modell 2:
Es ist ein wichtiges Entwurfsmodell und basiert auf dem Model View Controller-Konzept. Es ist in der Lage, die Präsentation und den Logikabschnitt zu trennen, die den Code manipulieren.
Dieses Modell ist robust, zuverlässig und vermeidet Doppelspurigkeiten. Es eignet sich gut zum Erstellen großer und komplexer Anwendungen.
F # 16) Erläutern Sie die Funktion des Spring MVC-Abfangjägers und seine Verwendung.
Antworten: Abfangjäger spielen in Spring MVC eine praktische Rolle. Sie werden verwendet, um die Anforderung vom Client abzufangen, die Anforderung zu verschiedenen Zeiten zu verarbeiten, z. B. vor der Bearbeitung der Anforderung, nach der Bearbeitung der Anforderung und nach Abschluss des Präsentationsteils, d. H. Der Ansichtsseite usw.
Es wird auch aus Querschnittsthemen verwendet und reduziert die Wiederholung von Code-Handlern wie eine spätere Änderung globaler Parameter im Modell, Protokollierung usw.
F # 17) Darf in Spring MVC mehrere Spring-Konfigurationsdateien verwendet werden?
kostenlose Videokonverter für Windows 10
Antworten: Ja, Spring ermöglicht es, mehrere Konfigurationsdateien in einer Anwendung zu haben.
Es gibt hauptsächlich zwei Möglichkeiten, um dies zu erreichen, und diese Möglichkeiten werden nachstehend erwähnt:
(i) Der Entwickler muss alle Dateien in der Datei web.xml mit dem folgenden Parameter deklarieren:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ii) Der Entwickler kann Dateien in die vorhandene Konfiguration importieren.
F # 18) Erläutern Sie die Funktionen der folgenden Anmerkungen: @Component, @Controller, @Repository, @Service.
Antworten: Dies sind die wichtigen Anmerkungen in Spring MVC. Schauen wir sie uns an.
@Komponente: Diese Anmerkung ist für die Konvertierung einer Java-Klasse in die Bean verantwortlich, damit sie von Spring erkannt und im Anwendungskontext verwendet werden kann.
Syntax:
@Component public class StudentDAOImpl implements StudentDAO { ... }
@Repository: Diese Annotation hat dieselbe Verwendung wie die von @Component, berücksichtigt jedoch zusätzlich die nicht aktivierten Ausnahmen, die in Spring verwendet werden können.
@Bedienung: Diese Annotation konvertiert auch die Java-Klasse in die Bean. Es ist jedoch besser, die Annotation @service als die Komponente @component zu verwenden, da sie in einer Echtzeitanwendung bessere Spezifikationen bietet.
@Regler: Wenn wir eine Klasse als Controller erstellen möchten, müssen wir diese Anmerkung angeben.
F # 19) Welche Rolle spielt der Multipart-Resolver und wann wird er verwendet?
Antworten: Multipart Resolver ist für das Hochladen der Datei in eine Webanwendung verantwortlich. Zwei Implementierungen dafür sind commonsMultipartResolver und StandardServletMultipartResolver.
F # 20) Wie unterstützt Spring MVC die Validierung?
Antworten: Spring bietet Validierungsunterstützung auf zwei Arten - hauptsächlich durch Verwendung der JSR 303-Annotation und der Validator-Schnittstelle.
F # 21) Wie wird die Lokalisierung in den Spring MVC-Webanwendungen erreicht?
Antworten: Spring MVC ist mit LocaleResolver konfiguriert, um sowohl die Internationalisierung als auch die Lokalisierung zu unterstützen. Um dies zu ermöglichen, müssen einige Bohnen wie unten erwähnt registriert werden.
SessionLocaleResolver - Zum Auflösen von Gebietsschemas werden die bereits definierten Attribute in der Benutzersitzung verwendet.
Syntax:
LocaleChangeInterceptor - Dies ist nützlich, wenn in der eingehenden Anforderung ein Parameter vorhanden ist.
Syntax:
F # 22) Erläutern Sie das Konzept des Root-Anwendungskontexts in Spring MVC sowie den Ladevorgang.
Antworten: ContextLoaderListner wird in Spring MVC als Stammanwendungskontext bezeichnet und von der gesamten Anwendung verwendet.
Es ist ein Listener, der dem Spring MVC beim Bootstrap hilft. Es wird zum Laden und Erstellen des applicationContext verwendet, um das Schreiben von explizitem Code zu vermeiden. Spring Bean wird im Anwendungskontext definiert.
Im Allgemeinen wird dispatcherServlet zum Angeben der Servlets in der Spring MVC verwendet.
F # 23) Welche Rolle spielt web.xml in Spring MVC und wo befindet es sich?
Antworten: In web.xml konfigurieren wir den ContextLoaderListner. Wenn wir die Anwendung bereitstellen, wird vom Servlet-Container für ContextLoaderListner eine Instanz erstellt, die zum Laden des webApplicationContext führt.
F # 24) Beschreiben Sie einige Rückgabetypen der Controller-Methode.
Antworten: Einige der wichtigen Rückgabetypen der Controller-Methoden umfassen String, void, view, ModelAndView, Model, Map, HttpHeaders usw.
F # 25) Auf welcher Grundlage wird in der Rendering-Phase eine Ansicht ausgewählt?
Antworten: Der ViewResolver in der MVC-Architektur ist für die Auswahl der erforderlichen Ansicht verantwortlich.
Wenn der Controller die Antwort an das Dispatcher-Servlet sendet, sendet er die Anforderung an den Ansichtsauflöser, um die richtige Ansichtsseite zu erhalten, die zur Präsentation an einen Client-Webbrowser gesendet werden kann.
F # 26) Was ist der Hauptunterschied zwischen der Annotation @Requestparam und @PathVariable?
Antworten: Diese Anmerkungen werden zum Abrufen von Informationen und Daten von einer URL verwendet.
Der Hauptunterschied zwischen ihnen besteht jedoch darin, dass @Requestparam nur zum Abrufen von Abfrageparametern und @PathVariable zum Abrufen der vollständigen URL verwendet wird.
F # 27) Erklären Sie das Konzept der aspektorientierten Programmierung?
Antworten: AOP ist ein wichtiger Bestandteil der Spring MVC-Architektur. AOP wird für Querschnittsthemen sowie für Anwendungen, die Validierung von Daten, die Modulprotokollierung, das Transaktionsmanagement, die Authentifizierung und Objekte verwendet.
Es gibt viele Teile der aspektorientierten Programmierung. Diese werden unten erwähnt:
- Aspekt: Aspect ist verantwortlich für Querschnittsthemen wie Transaktionsmanagement usw.
- Rat: Es handelt sich im Grunde genommen um eine Aktion und Methode, die ausgeführt werden und auch für einen bestimmten Verknüpfungspunkt verwendet werden.
- Pointcut: Es ist verantwortlich für die Ausführung der Beratung in Bezug auf reguläre Ausdrücke.
- Gemeinsamer Punkt: Dies ist ein Punkt in der Anwendung für Prozesse wie Ausnahmebehandlung, Ausführung der Methode, Änderung von Variablenwerten usw.
- Ratschläge Argumente : Diese Argumente werden zum Übergeben von Methoden verwendet.
Fazit
Ich hoffe, Sie hätten in diesem Artikel einen vollständigen Überblick über die Spring MVC-Architektur erhalten.
Hier haben wir den gesamten End-to-End-Fluss des Spring MVC-Flusses behandelt. Warum brauchen wir Spring MVC? Was sind die verschiedenen Module in der MVC-Architektur? Funktionen von Spring MVC und Dispatcher-Servlet, das Konzept des Front-Controllers, Listener und seine Funktion, verschiedene Arten von Anmerkungen wie @Autowired, @Controller, @RequestBody usw.
Wir haben auch mehr über das View Resolver-Konzept, den AOP-Prozess und verschiedene Arten des Controllers sowie dessen Verwendung erfahren. Lokalisierung und Interceptors, unterschiedliche Architektur des Spring-Frameworks und das Konzept des Bindungsergebnisses sowie dessen Verwendung.
Wir haben erfahren, was ein Spring-Container ist und wie er in Spring MVC verwendet wird. Verwendung von Konfigurationsdateien in Spring MVC, Verantwortlichkeiten und Wichtigkeit von Pfadvariablen. usw. Fast alle wichtigen und am meisten erwarteten Fragen zu Spring MVC-Interviews werden in diesem Artikel erläutert.
Es ist jedoch immer ratsam, in der Echtzeitanwendung Codebeispiele zu erläutern, um die Erwartungen des Interviewers zu erfüllen. Alle Codes, die für jedes Konzept erforderlich sind, werden hier zum leichteren Verständnis behandelt.
Wir wünschen Ihnen alles Gute!
Literatur-Empfehlungen
- Interview Fragen und Antworten
- 25 Fragen und Antworten zu den besten Agile Testing-Interviews
- 25+ Beliebteste Fragen und Antworten zum ADO.NET-Interview
- Einige knifflige manuelle Testfragen und -antworten
- Fragen und Antworten zum ETL-Testinterview
- Fragen und Antworten zum Testen von Software (Teil 1)
- 40+ beliebte Fragen und Antworten zu QA-Analysteninterviews (2021 LIST)
- Top 25 Fragen und Antworten zum Interview mit Funktionstests