25 top spring mvc interview questions
Preguntes d'entrevistes MVC més populars de primavera amb respostes per als candidats experimentats i de nivell inicial:
Spring és un marc potent que els desenvolupadors de Java utilitzen a tot el món per desenvolupar aplicacions web Java Enterprise.
Spring MVC Stands per a Model View i controlador. Igual que altres marcs Struts, Spring també es basa en tecnologies J2EE que són JSP i Servlet juntament amb la implementació del patró de disseny Model, View i Controller.
Aquí explorarem les preguntes més freqüents de les entrevistes de Spring MVC amb exemples.
Què aprendreu:
java com fer una llista
Spring MVC Architecture
L'arquitectura MVC té moltes classes i components integrats que sempre estan disponibles per als desenvolupadors per desenvolupar una aplicació forta i poc acoblada.
Si s’acoblen poc, significa que no hi hauria d’haver dependències codificades entre les classes. Això, al seu torn, fa que la tasca sigui bastant complexa a l’hora de canviar el codi o la funcionalitat de l’aplicació.
L’arquitectura MVC té les seves pròpies funcions independents. La capa de model inclou totes les classes POJO i ajuda a l’encapsulament de dades. La capa de visualització s’utilitza per representar les dades presents a la capa del model i continua generant sortida en format HTML per al client que normalment la rep en un navegador web.
Finalment, el controlador és responsable del processament de sol·licituds i de la creació del model correcte i, per tant, envia la resposta a la capa de visualització o presentació.
En aquest article, repassareu tots els temes importants de Spring MVC, tal com s’esmenta a continuació:
- El principi de funcionament de Spring MVC
- Arquitectura primaveral
- El concepte de servlet despatxador
- Cartografia de gestors
- Controlador
- View resoldre
- Diferents capes de Spring MVC
- Nucli de primavera, avantatges d'utilitzar Spring MVC
- Mòduls de primavera
- AOP
- Llenguatge d’expressió
- Capa d'accés a dades
- Mòdul web
- Aspectes
- Prova, etc.
- Inversió de control i injecció de dependència, sobre fitxers pom.xml.
Fem una ullada als pros i els contres de Spring MVC !!
Avantatges de Spring MVC
A continuació es detallen els diferents avantatges de Spring MVC:
- Com que és molt petit, ofereix un alt rendiment amb menys problemes.
- Té una alta productivitat que al seu torn augmenta el desenvolupament.
- És altament segur, ja que utilitza Spring SPI i és utilitzat sobretot per tots els bancs per a les seves aplicacions web.
- Podem desenvolupar aplicacions modulars, ja que admet l'arquitectura Model View i el controlador.
- Admet el desenvolupament complet basat en proves, que és massa bo.
- Fins ara, és el més adequat per a desenvolupadors d’aplicacions web de desenvolupament àgil a tot el món.
- Té una funció de responsabilitat i separació de rols que simplifica les tasques.
- Proporciona assistència per al servei RESTful.
- Admet temes, internacionalització, altres marcs de bases de dades, JPA, múltiples vistes i suport a la comunitat.
Contres de Spring MVC
A continuació es detallen alguns dels inconvenients de Spring MVC:
- La corba d’aprenentatge del framework Spring i la seva arquitectura MVC és una mica complexa per als desenvolupadors, ja que té pocs conceptes complexos.
- La primavera té un caràcter canviant, com ara els basats en XML o els basats en les anotacions, i al seu torn es fa difícil de fer el seguiment de vegades.
- Molt menys especificació a Spring MVC.
- Si el fitxer jar no està disponible, l'aplicació no s'executarà correctament.
- Problemes de configuració molt grans, molts controladors per gestionar, molts resolutors de visualització per controlar, etc.
Preguntes més freqüents sobre l’entrevista MVC de primavera
A continuació es detallen les preguntes d’entrevista més importants de Spring MVC. Intenteu obtenir el concepte de cada pregunta, de manera que us serà molt útil per explicar-ho a l’entrevistador. Intenteu sempre donar o correlacionar-vos amb exemples d'aplicacions en temps real. També són útils per a professionals experimentats.
P # 1) Què és el Spring Framework i per què és tan popular?
Resposta: Spring Framework és un marc lleuger que s’utilitza per desenvolupar aplicacions web Java poc acoblades.
Proporciona un contenidor incorporat, injecció de dependències i arquitectura MVC. És molt popular, ja que permet el desacoblament, la reutilització i proporciona patrons de disseny com singleton, fàbrica per reduir la longitud del codi, etc. També elimina connexions febles i té una potent integració amb el tercer.
Q # 2) Què és Spring MVC?
Resposta: Spring MVC segueix el concepte de model, vista i controlador.
És una instància d'un controlador que es comparteix sol i que també ajuda a gestionar diverses sol·licituds que s'executen en contenidors de inversió de control com interceptors i controladors. El patró Spring MVC ajuda a separar els aspectes de l’aplicació que inclou l’entrada, el negoci i la lògica de presentació.
P # 3) Quines són les característiques bàsiques del Spring Framework?
Resposta:
Les característiques bàsiques de Spring MVC són:
- És capaç de configurar eficaçment el marc i les classes com a mongetes. També divideix els rols i les responsabilitats funcionals per separat.
- Permet definir un mètode de control il·limitat que fa que l’aplicació sigui molt ajustable i flexible.
- Proporciona una bona personalització per al mapatge, enquadernació, resolució de visualitzacions i validacions de gestors.
- Ajuda a transferir el model mitjançant un mapa. També proporciona suports per a velocitat, JSTL, JSP i l'usuari pot personalitzar la resolució de temes i configuracions regionals.
- Spring té la seva pròpia biblioteca d'etiquetes que la fa més flexible i admet l'enllaç de dades, els temes, els grans amb cicle de vida fins a la sol·licitud HTTP.
Q # 4) Expliqueu el concepte de Servlet Dispatcher.
Resposta: Servlet Dispatcher és el servlet central principal que gestiona totes les sol·licituds i respostes HTTP entrants. Té integració amb Spring IOC i, per tant, permet utilitzar totes les funcions de Spring.
Un cop el servlet del distribuïdor rep una sol·licitud, el reenvia al mapatge del gestor per obtenir un controlador adequat, i ara el controlador trucarà al mètode de servei correcte i el tornarà a enviar al servlet del distribuïdor.
Una vegada més, el servlet envia la sol·licitud al solucionador de visualitzacions per obtenir la vista necessària i, a continuació, envia la resposta al navegador del client.
Exemple de codi per mostrar l'ús del servlet del distribuïdor:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
P # 5) Quin ús fa ContextLoaderListner a Spring MVC?
Resposta: S'utilitza per llegir i analitzar el fitxer de configuració de Spring i processar la càrrega de beans en aquest fitxer de configuració.
Exemple de codi:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
Q # 6) Expliqueu la classe de controlador frontal de Spring MVC.
Resposta: Front Controller és responsable de gestionar tota la sol·licitud entrant d’una aplicació. A Spring MVC, el servlet despatxador actua com a controlador frontal i gestiona totes les sol·licituds entrants.
Q # 7) Expliqueu la funció de @Autowired Annotation.
Resposta: L'anotació @Autowired s'encarrega d'injectar una mongeta pel seu tipus juntament amb els camps i els mètodes. D’aquesta manera ajudem el marc de primavera a resoldre i injectar faves col·laboradores a la nostra mongeta.
Exemple:
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) Quina és la funció de l’anotació d’atributs de model?
Resposta: L'anotació @ModelAttribute té un paper vital en el marc Spring MVC. És responsable del paràmetre del mètode d'enquadernació amb l'atribut de model respectiu i el mostra a la pàgina de presentació.
També depèn del que utilitzi el desenvolupador a l'anotació de l'atribut model . Si s’utilitza a nivell de mètode, indica que el mètode és responsable d’afegir atributs. Quan s’utilitza com a paràmetre, indica que s’ha de recuperar el valor del paràmetre de la capa del model.
Q # 9) Expliqueu el concepte i la funció de la variable de camí.
Resposta: La variable @PathVariable és una anotació que s'utilitza com a paràmetre del mètode de control per extreure el valor de la plantilla URI.
Exemple:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
Q # 10) Quina és la funció de l’anotació @RequestBody?
Resposta: L’anotació @RequestBody s’encarrega d’enllaçar la sol·licitud del cos HTTP a un objecte de domini. La sol·licitud HTTP entrant es des serialitza automàticament a l'objecte Java per Spring amb l'ajut dels convertidors de missatges HTTP.
Q # 11) Quina és la funció de l’anotació @ResponseBody?
Resposta: Quan s’utilitza l’anotació @ResponseBody al controlador MVC, indica que el desenvolupador ha d’escriure un tipus de retorn del mètode declarat directament al cos de resposta HTTP. Aquí no es requereix invocar el model i Spring no interpreta el nom de la vista.
P # 12) Per què necessitem View Resolver a Spring MVC i què és un resolutor de vista intern a Spring?
Resposta: View Resolver és responsable de la representació de models al navegador web. No requereix cap tecnologia de visualització específica com JSP, XML i Velocity, etc.
El 'InternalResourceViewResolver' és el solucionador de vistes internes de Spring MVC.
Hi ha alguns solucionadors de visualitzacions importants a Spring MVC, tal com s’esmenta a continuació:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver, etc.
Q # 13) Expliqueu el principi de funcionament del Spring MVC Framework.
Resposta:
El diagrama següent us ajudarà a entendre el flux:
Com sabem, es basa en el concepte de model, vista i controlador. El Servlet Dispatcher rep la sol·licitud HTTP en funció del mapatge del servlet realitzat al web.xml.
Una vegada que el servlet Dispatcher rep la sol·licitud, envia la mateixa sol·licitud al mapatge del controlador per obtenir la classe de controlador requerida. L’assignació de gestors s’esmenta al fitxer de configuració de Spring.
Una vegada més, la sol·licitud s'envia al controlador i el controlador processa la sol·licitud i el mètode i envia de nou l'objecte de vista de model requerit al servlet del distribuïdor.
Ara, un servlet envia la sol·licitud al solucionador de visualitzacions per obtenir la presentació de la pàgina de visualització.
Finalment, el Servlet Dispatcher passa el model a la pàgina de presentació i el mateix es renderitza a un navegador client.
P # 14) Quin és el propòsit d'utilitzar BindingResults?
Resposta: BindingResults és una de les interfícies de Spring que inclou el paquet org. Springframework .validació i s’utilitza per representar els resultats d’unió.
Té un paper útil en la detecció d’errors dels formularis enviats. Té un procés d’invocació senzill i fàcil. El desenvolupador ha de tenir en compte posar el resultat d’unió com a paràmetre just després de la validació de l’objecte.
Sintaxi:
@PostMapping('/client') public String submitpage(@Valid NewUserPage newUserPage, BindingResult result, Model model) { if (result.hasErrors()) { return 'uHome'; } model.addAttribute('message', 'Valid Page'); return 'uHome'; }
Aquí, el framework Spring entendrà llegint l’anotació @Valid i intentarà trobar el seu validador.
Q # 15) Expliqueu l'arquitectura Model 1 i Model 2 de Spring Framework.
Resposta: Aquests són els dos models de disseny importants per al desenvolupament d'aplicacions web.
Model 1:
Aquí, la sol·licitud entrant la gestiona el servlet o un JSP. La pàgina de servlet o JSP és responsable de gestionar, processar la sol·licitud, controlar la lògica empresarial, la validació de dades i, finalment, generar la resposta.
És senzill i té una arquitectura fàcil i és preferit sobretot per les indústries de petita escala per desenvolupar aplicacions senzilles.
eines de proves de seguretat per a aplicacions web
Model 2:
És un model de disseny important i es basa en el concepte Model View Controller. És capaç de separar la presentació i la secció lògica que manipulen el codi.
Aquest model és robust, fiable i evita la duplicitat. És bo per construir aplicacions grans i complexes.
Q # 16) Expliqueu la funció de l'interceptor Spring MVC juntament amb el seu ús.
Resposta: Els interceptors tenen un paper útil a Spring MVC. S'utilitzen per interceptar la sol·licitud del client, processar la sol·licitud en diferents moments com abans de gestionar la sol·licitud, després de gestionar la sol·licitud i després de completar la part de presentació, és a dir, veure la pàgina, etc.
També s’utilitza per qüestions transversals i redueix la repetició del controlador de codi, com una modificació dels paràmetres globals del model posterior, registre, etc.
P # 17) Es permet utilitzar diversos fitxers de configuració de Spring a Spring MVC?
Resposta: Sí, Spring permet tenir diversos fitxers de configuració en una sola aplicació.
Hi ha principalment dues maneres d’aconseguir-ho i es mencionen a continuació:
(i) El desenvolupador ha de declarar tots els fitxers del web.xml mitjançant el paràmetre:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ii) El desenvolupador pot importar fitxers a la configuració existent.
P # 18) Expliqueu les funcions de les anotacions següents: @Component, @Controller, @Repository, @Service.
Resposta: Aquestes són les anotacions importants de Spring MVC. Vegem-los.
@Component: Aquesta anotació s’encarrega de convertir una classe java al bean perquè Spring la pugui reconèixer i utilitzar en el context de l’aplicació.
Sintaxi:
@Component public class StudentDAOImpl implements StudentDAO { ... }
@Depositori: Aquesta anotació té el mateix ús que la de @Component, però també considera les excepcions no verificades que es poden utilitzar a la primavera.
@ Servei: Aquesta anotació també converteix la classe java en bean, però és millor utilitzar @service annotation que @component ja que proporciona millors especificacions en una aplicació en temps real.
@ Controlador: Si volem fer qualsevol classe com a controlador, hem d’especificar aquesta anotació.
P # 19) Quin és el paper del resolutor multipart i quan s’utilitza?
Resposta: Multipart Resolver és responsable de penjar el fitxer en una aplicació web. Dues implementacions per a això són commonsMultipartResolver i StandardServletMultipartResolver.
P # 20) Com proporciona Spring MVC suport per a la validació?
Resposta: Spring proporciona suport per a la validació de dues maneres, és a dir, principalment mitjançant l’anotació JSR 303 i la interfície Validator.
P # 21) Com s’aconsegueix la localització a les aplicacions web Spring MVC?
Resposta: Spring MVC està configurat amb LocaleResolver per donar suport tant a la internacionalització com a la localització. Per fer-ho possible, cal registrar algunes mongetes tal com s’esmenta a continuació.
SessionLocaleResolver - Es necessita l'ajut dels atributs ja definits a la sessió d'usuari per resoldre els requisits regionals.
Sintaxi:
LocaleChangeInterceptor - És útil quan hi ha un paràmetre present a la sol·licitud entrant.
Sintaxi:
Q # 22) Expliqueu el concepte de context d'aplicació arrel a Spring MVC juntament amb el seu procés de càrrega.
Resposta: ContextLoaderListner es coneix com a context d'aplicació arrel a Spring MVC i és utilitzat per l'aplicació completa.
És un oient que ajuda Spring MVC a arrencar. S'utilitza per carregar i crear l'aplicacióContext, per evitar escriure codi explícit. Spring Bean es defineix al context d'aplicació.
Generalment, dispatcherServlet s’utilitza per especificar els servlets al Spring MVC.
P # 23) Quin és el paper de web.xml a Spring MVC i on es troba?
Resposta: A web.xml, configurem el ContextLoaderListner. Quan desplegem l’aplicació, el contenidor Servlet crea una instància per a ContextLoaderListner i després condueix a la càrrega del webApplicationContext.
Q # 24) Descriviu alguns tipus de retorn del mètode del controlador.
Resposta: Alguns dels tipus de retorn importants dels mètodes del controlador inclouen String, void, view, ModelAndView, Model, Map, HttpHeaders, etc.
P # 25) En quina base es tria una vista en la fase de renderització?
Resposta: El ViewResolver de l'arquitectura MVC és responsable d'escollir la vista necessària.
Quan el controlador envia la resposta al servlet del despatxador, envia la sol·licitud al solucionador de visualitzacions per obtenir la pàgina de visualització correcta que es pot enviar a un navegador web client per a la seva presentació.
P # 26) Quina és la diferència principal entre @Requestparam i @PathVariable anotació?
Resposta: Aquestes anotacions s’utilitzen per obtenir informació i dades d’un URL.
Però, la diferència principal entre ells és que @Requestparam només s’utilitza per obtenir paràmetres de consulta i @PathVariable s’utilitza per obtenir l’URL complet.
P # 27) Expliqueu el concepte de programació orientada a aspectes?
Resposta: L'AOP és una part important de Spring MVC Architecture. AOP s'utilitza per a qüestions transversals i també per a aplicacions, validació de dades, registre de mòduls, gestió de transaccions, autenticació i objectes.
Hi ha moltes parts de la programació orientada a aspectes. A continuació, s’esmenten:
- Aspecte: Aspect és responsable de qüestions transversals com la gestió de transaccions, etc.
- Consells: Bàsicament és una acció i un mètode que s’executen i que també s’utilitza per a un punt d’unió especificat.
- Tall de punts: És responsable de l'execució de consells en termes d'expressions regulars.
- Punt conjunt: És un punt de l'aplicació per a processos com el maneig d'excepcions, l'execució del mètode, el canvi de valors variables, etc.
- Arguments de consell : Aquests arguments s'utilitzen per passar mètodes.
Conclusió
Espero que obtingueu una visió general completa de l'arquitectura Spring MVC d'aquest article.
A continuació, hem tractat el flux complet del flux Spring MVC, per què necessitem Spring MVC? Quins són els diferents mòduls de l'arquitectura MVC? Característiques de Spring MVC i servlet despatxador, el concepte de controlador frontal, Listeners i la seva funció, diferents tipus d’anotacions com @Autowired, @Controller, @RequestBody, etc.
També hem après més sobre el concepte View Resolver, el procés AOP i els diferents tipus de controlador juntament amb els seus usos. Localització i interceptors, arquitectura diferent del framework Spring i el concepte del resultat d’unió juntament amb els seus usos.
Vam conèixer què és un contenidor Spring i el seu ús a Spring MVC? Ús de fitxers de configuracions a Spring MVC, responsabilitats i importància de la variable Path. etc Gairebé totes les preguntes més importants i esperades de les entrevistes de Spring MVC s’expliquen en aquest article.
Tot i això, sempre és aconsellable explicar amb exemples de codi a l’aplicació en temps real per satisfer les expectatives de l’entrevistador. Aquí es cobreixen tots els codis necessaris per a cada concepte per facilitar-ne la comprensió.
Us desitgem tot el millor!
Lectura recomanada
- Preguntes i respostes de l’entrevista
- 25 millors preguntes i respostes d’entrevista de proves àgils
- 25+ Preguntes i respostes d'entrevista ADO.NET més populars
- Algunes preguntes i respostes de proves manuals complicades
- Preguntes i respostes d’entrevistes de proves ETL
- Preguntes i respostes sobre proves de programari (primera part)
- Més de 40 preguntes i respostes d'entrevistes d'analistes de control de qualitat populars (LLISTA 2021)
- Top 25 de preguntes i respostes d’entrevistes de proves funcionals