25 top spring mvc interview questions
Preguntas más populares de la entrevista de Spring MVC con respuestas para candidatos de nivel de entrada y experimentados:
Spring es un potente marco que los desarrolladores de Java utilizan en todo el mundo para desarrollar aplicaciones Java Enterprise Web.
Spring MVC son las siglas de Model View y Controller. Al igual que otros Struts de framework, Spring también se basa en tecnologías J2EE que son JSP y Servlet junto con la implementación del modelo de patrón de diseño, Vista y Controlador.
Aquí, exploraremos las preguntas de entrevistas de Spring MVC más frecuentes con ejemplos.
Lo que vas a aprender:
que sistema operativo es mejor para laptop
Arquitectura Spring MVC
La arquitectura MVC tiene muchas clases y componentes incorporados que siempre están disponibles para que los desarrolladores desarrollen una aplicación sólida y poco acoplada.
Acoplado libremente significa que no debería haber dependencias codificadas entre las clases. Esto, a su vez, hace que la tarea sea bastante compleja cuando se trata de cambiar el código o la funcionalidad de la aplicación.
La arquitectura MVC tiene sus propias funciones independientes. La capa del modelo incluye todas las clases POJO y ayuda en el encapsulado de datos. La capa de vista se usa para representar los datos presentes en la capa del modelo y sigue generando resultados en formato HTML para el cliente que los recibe generalmente en un navegador web.
Finalmente, el controlador es responsable del procesamiento de solicitudes y la construcción del modelo correcto y, por lo tanto, envía la respuesta a la vista o capa de presentación.
En este artículo, analizará todos los temas importantes de Spring MVC como se menciona a continuación:
- El principio de funcionamiento de Spring MVC
- Arquitectura de primavera
- El concepto de servlet despachador
- Mapeo de manejadores
- Controlador
- View resolver
- Diferentes capas de Spring MVC
- Spring core, ventajas de usar Spring MVC
- Módulos de primavera
- AOP
- Lenguaje de expresión
- Capa de acceso a datos
- Módulo web
- Aspectos
- Prueba, etc.
- Inversión de control e inyección de dependencias, sobre archivos pom.xml.
¡Echemos un vistazo a los pros y contras de Spring MVC!
Ventajas de Spring MVC
A continuación se enumeran los diversos pros de Spring MVC:
- Como es muy pequeño, ofrece un alto rendimiento con menos problemas.
- Tiene una alta productividad que a su vez aumenta el desarrollo.
- Es muy seguro ya que usa Spring SPI y es usado principalmente por todos los bancos para sus aplicaciones web.
- Podemos desarrollar aplicaciones modulares, ya que admite Model View y arquitectura de controlador.
- Es compatible con el desarrollo basado en pruebas completo, lo cual es demasiado bueno.
- Hasta ahora, es más adecuado para aplicaciones web de desarrollo ágil en todo el mundo por desarrolladores.
- Tiene una función de separación de responsabilidades y roles que simplifica las tareas.
- Proporciona soporte para el servicio RESTful.
- Es compatible con temas, internacionalización, otros marcos de base de datos, JPA, múltiples vistas y soporte de la comunidad.
Contras de Spring MVC
A continuación, se muestran algunos de los contras de Spring MVC:
- La curva de aprendizaje del marco Spring y su arquitectura MVC es un poco compleja para los desarrolladores, ya que tiene pocos conceptos complejos.
- Spring tiene una naturaleza cambiante, como las basadas en XML o las basadas en anotaciones, y eso a su vez se vuelve difícil de seguir en ocasiones.
- Muy menos especificación en Spring MVC.
- Si el archivo jar no está disponible, la aplicación no se ejecutará correctamente.
- Problemas de configuración muy grandes, muchos controladores que manejar, muchos solucionadores de vista que controlar, etc.
Principales preguntas de la entrevista de Spring MVC
A continuación se enumeran las preguntas de entrevista más importantes para Spring MVC. Trate de entender el concepto de cada pregunta, de modo que sea muy útil para explicarle al entrevistador. Intente siempre dar o correlacionar con ejemplos de aplicaciones en tiempo real. También son útiles para profesionales experimentados.
P # 1) ¿Qué es Spring Framework y por qué es tan popular?
Responder: Spring Framework es un marco liviano que se utiliza para desarrollar aplicaciones web de Java poco acopladas.
Proporciona un contenedor incorporado, una inyección de dependencia y una arquitectura MVC. Es muy popular ya que permite el desacoplamiento, la reutilización y proporciona patrones de diseño como singleton, factory para reducir la longitud del código, etc. y también elimina las conexiones débiles y tiene una poderosa integración con el tercero.
P # 2) ¿Qué es Spring MVC?
Responder: Spring MVC sigue el concepto de modelo, vista y controlador.
Es una instancia de un controlador que se comparte solo y también ayuda a manejar varias solicitudes que se ejecutan en contenedores de Inversión de Control como interceptores y controladores. El patrón Spring MVC ayuda a separar los aspectos de la aplicación que incluyen lógica de entrada, negocios y presentación.
P # 3) ¿Cuáles son las características principales de Spring Framework?
Responder:
Las características principales de Spring MVC son:
- Es capaz de configurar eficazmente el marco y las clases como beans. También divide las funciones y responsabilidades funcionales por separado.
- Permite la definición de un método de controlador ilimitado que hace que la aplicación sea altamente ajustable y flexible.
- Proporciona una buena personalización para el mapeo, enlace, resolución de vista y validaciones de controladores.
- Ayuda a transferir el modelo usando un mapa. También proporciona soporte para velocidad, JSTL, JSP y el usuario puede personalizar la resolución del tema y la configuración regional.
- Spring tiene su propia biblioteca de etiquetas que la hace más flexible y admite enlaces de datos, temas, beans que tienen un ciclo de vida hasta la solicitud HTTP.
P # 4) Explique el concepto de Dispatcher Servlet.
Responder: Dispatcher Servlet es el servlet central principal que maneja todas las solicitudes y respuestas HTTP entrantes. Tiene integración con Spring IOC y, por lo tanto, permite utilizar todas las funciones de Spring.
Una vez que el servlet del despachador recibe una solicitud, la reenvía al mapeo del manejador para obtener un controlador apropiado, y ahora el controlador llamará al método de servicio correcto y nuevamente lo enviará de vuelta al servlet del despachador.
Nuevamente, el servlet envía la solicitud al solucionador de vistas para obtener la vista requerida y luego envía la respuesta al navegador del cliente.
Ejemplo de código para mostrar el uso del servlet del despachador:
|_+_|P # 5) ¿Cuál es el uso de ContextLoaderListner en Spring MVC?
Responder: Se utiliza para leer y analizar el archivo de configuración de Spring y procesar la carga de beans en ese archivo de configuración.
Ejemplo de código:
|_+_|P # 6) Explique la clase de controlador frontal de Spring MVC.
Responder: Front Controller es responsable de manejar toda la solicitud entrante de una aplicación. En Spring MVC, el servlet del despachador actúa como un controlador frontal y maneja todas las solicitudes entrantes.
P # 7) Explique la función de @Autowired Annotation.
Responder: La anotación @Autowired es responsable de inyectar un bean por su tipo junto con los campos y métodos. De este modo, ayudamos al marco de Spring a resolver e inyectar beans colaboradores en nuestro bean.
Ejemplo:
|_+_|P # 8) ¿Cuál es la función de la anotación de atributos del modelo?
Responder: La anotación @ModelAttribute juega un papel vital en el marco Spring MVC. Es responsable del parámetro del método de vinculación con el atributo del modelo respectivo y luego lo muestra en la página de presentación.
También depende de lo que el desarrollador esté usando en la anotación de atributos del modelo. . Si se usa a nivel de método, indica que el método es responsable de agregar atributos. Cuando se utiliza como parámetro, indica que el valor del parámetro debe recuperarse de la capa del modelo.
P # 9) Explique el concepto y la función de la variable de ruta.
Responder: @PathVariable es una anotación que se utiliza como parámetro en el método del controlador para extraer el valor de la plantilla URI.
Ejemplo:
|_+_|P # 10) ¿Cuál es la función de la anotación @RequestBody?
Responder: La anotación @RequestBody es responsable de vincular la solicitud del cuerpo HTTP a un objeto de dominio. Spring deserializa automáticamente la solicitud HTTP entrante en el objeto Java con la ayuda de los convertidores de mensajes HTTP.
P # 11) ¿Cuál es la función de la anotación @ResponseBody?
Responder: Cuando se usa la anotación @ResponseBody en el controlador MVC, indica que el desarrollador necesita escribir un tipo de retorno de método declarado directamente en el cuerpo de respuesta HTTP. Aquí, no es necesario invocar el modelo y Spring no interpreta el nombre de la vista.
P # 12) ¿Por qué necesitamos View Resolver en Spring MVC y qué es un resolutor de vista interno en Spring?
Responder: View Resolver es responsable de la representación de modelos en el navegador web. No requiere ninguna tecnología de visualización específica como JSP, XML y Velocity, etc.
'InternalResourceViewResolver' es el solucionador de vista interno en Spring MVC.
Hay algunos solucionadores de vistas importantes en Spring MVC, como se menciona a continuación:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver, etc.
P # 13) Explique el principio de funcionamiento del Spring MVC Framework.
Responder:
El siguiente diagrama ayudará a comprender el flujo:
Como sabemos, se basa en el concepto de Modelo, Vista y Controlador. Dispatcher Servlet recibe la solicitud HTTP en función de la asignación de servlet realizada en web.xml.
Una vez que Dispatcher Servlet recibe la solicitud, envía la misma solicitud al mapeo del controlador para obtener la clase de controlador requerida. La asignación de controladores se menciona en el archivo de configuración de Spring.
Una vez más, la solicitud se envía al controlador, y el controlador procesa la solicitud y el método y devuelve el objeto de vista del modelo requerido al servlet del despachador.
Ahora, un servlet envía la solicitud al solucionador de vistas para obtener la presentación de la página de visualización.
Por último, Dispatcher Servlet pasa el modelo a la página de presentación y el mismo se procesa en un navegador del cliente.
P # 14) ¿Cuál es el propósito de usar BindingResults?
Responder: BindingResults es una de las interfaces de Spring que se incluye en el paquete org. Springframework .validación y se utiliza para representar los resultados vinculantes.
Desempeña un papel útil en la detección de errores de los formularios enviados. Tiene un proceso de invocación sencillo y sencillo. El desarrollador debe tener en cuenta poner el resultado de la vinculación como parámetro justo después de la validación del objeto.
Sintaxis:
|_+_|Aquí, el marco de Spring lo entenderá leyendo la anotación @Valid e intentará encontrar su validador.
P # 15) Explique la arquitectura Modelo 1 y Modelo 2 de Spring Framework.
Responder: Estos son los dos modelos de diseño importantes para desarrollar aplicaciones web.
Modelo 1:
Aquí, la solicitud entrante es manejada por el servlet o una JSP. El servlet o página JSP se encarga de manejar, procesar la solicitud, controlar la lógica de negocio, validar los datos y por último generar la respuesta.
Es simple y tiene una arquitectura sencilla y es el preferido principalmente por las industrias de pequeña escala para desarrollar aplicaciones simples.
Modelo 2:
Es un modelo de diseño importante y se basa en el concepto de controlador de vista de modelo. Es capaz de separar la presentación y la sección lógica que manipula el código.
Este modelo es robusto, confiable y evita la duplicidad. Es bueno para construir aplicaciones grandes y complejas.
P # 16) Explique la función del interceptor Spring MVC junto con su uso.
Responder: Los interceptores juegan un papel útil en Spring MVC. Se utilizan para interceptar la solicitud del cliente, procesar la solicitud en diferentes momentos, como antes de manejar la solicitud, después de manejar la solicitud y después de completar la parte de presentación, es decir, ver la página, etc.
También se utiliza desde preocupaciones transversales y reduce la repetición del controlador de código como una modificación de parámetros globales en el modelo más tarde, registro, etc.
P # 17) ¿Está permitido usar varios archivos de configuración de Spring en Spring MVC?
Responder: Sí, Spring permite tener múltiples archivos de configuración en una aplicación.
Hay principalmente dos formas de lograr esto y esas formas se mencionan a continuación:
(i) El Desarrollador tiene que declarar todos los archivos en web.xml usando el parámetro:
|_+_|(ii) El desarrollador puede importar archivos a la configuración existente.
P # 18) Explique las funciones de las siguientes anotaciones: @Component, @Controller, @Repository, @Service.
Responder: Estas son las anotaciones importantes en Spring MVC. Echemos un vistazo a ellos.
@Componente: Esta anotación es responsable de convertir una clase java al bean para que Spring pueda reconocerlo y usarlo en el contexto de la aplicación.
Sintaxis:
|_+_|@Repositorio: Esta anotación tiene el mismo uso que la de @Component, pero además también considera las excepciones no marcadas que se pueden usar en Spring.
preguntas de la entrevista de selenio por 7 años de experiencia
@Servicio: Esta anotación también convierte la clase java al bean, pero es mejor usar la anotación @service que @component ya que proporciona mejores especificaciones en una aplicación en tiempo real.
@Controlador: Si queremos hacer cualquier clase como controlador, necesitamos especificar esta anotación.
P # 19) ¿Cuál es la función del solucionador multiparte y cuándo se utiliza?
Responder: Multipart Resolver es responsable de cargar el archivo en una aplicación web. Dos implementaciones son commonsMultipartResolver y StandardServletMultipartResolver.
P # 20) ¿Cómo proporciona Spring MVC soporte para la validación?
Responder: Spring proporciona soporte de validación de dos maneras, es decir, principalmente mediante el uso de la anotación JSR 303 y la interfaz Validator.
P # 21) ¿Cómo se logra la localización en las aplicaciones web Spring MVC?
Responder: Spring MVC está configurado con LocaleResolver para admitir tanto la internacionalización como la localización. Para que esto sea posible, algunos beans deben registrarse como se menciona a continuación.
SessionLocaleResolver - Se necesita la ayuda de los atributos ya definidos en la sesión del usuario para resolver las configuraciones regionales.
Sintaxis:
LocaleChangeInterceptor – Es útil cuando hay un parámetro presente en la solicitud entrante.
Sintaxis:
P # 22) Explique el concepto de contexto de aplicación raíz en Spring MVC junto con su proceso de carga.
Responder: ContextLoaderListner se conoce como el contexto de la aplicación raíz en Spring MVC y es utilizado por la aplicación completa.
Es un oyente que ayuda a Spring MVC a arrancar. Se utiliza para cargar y crear el applicationContext, para evitar escribir código explícito. Spring bean se define en el contexto de la aplicación.
Generalmente, dispatcherServlet se usa para especificar los servlets en Spring MVC.
P # 23) ¿Cuál es la función de web.xml en Spring MVC y dónde se encuentra?
Responder: En web.xml, configuramos ContextLoaderListner. Cuando implementamos la aplicación, el contenedor Servlet crea una instancia para ContextLoaderListner y luego conduce a la carga de webApplicationContext.
P # 24) Describa algunos tipos de retorno del método del controlador.
Responder: Algunos de los tipos de retorno importantes de los métodos del controlador incluyen String, void, view, ModelAndView, Model, Map, HttpHeaders, etc.
P # 25) ¿Sobre qué base se elige una vista en la fase de renderizado?
Responder: ViewResolver en la arquitectura MVC es responsable de elegir la vista requerida.
Cuando el controlador envía la respuesta al servlet del despachador, envía la solicitud al solucionador de vistas para obtener la página de vista correcta que se puede enviar a un navegador web del cliente para su presentación.
P # 26) ¿Cuál es la principal diferencia entre @Requestparam y la anotación @PathVariable?
Responder: Estas anotaciones se utilizan para obtener información y datos de una URL.
Pero, la principal diferencia entre ellos es que @Requestparam solo se usa para obtener parámetros de consulta y @PathVariable se usa para obtener la URL completa.
P # 27) ¿Explica el concepto de Programación Orientada a Aspectos?
Responder: AOP es una parte importante de la arquitectura Spring MVC. AOP se utiliza para asuntos transversales y también para aplicaciones, validación de datos, registro de módulos, gestión de transacciones, autenticación y objetos.
Hay muchas partes de la programación orientada a aspectos. Estos se mencionan a continuación:
- Aspecto: Aspect es responsable de preocupaciones transversales como la gestión de transacciones, etc.
- Consejo: Es básicamente una acción y un método que se ejecutan y también se usa para un punto de unión específico.
- Pointcut: Es responsable de la ejecución de los consejos en términos de expresiones regulares.
- Punto de unión: Es un punto en la aplicación para procesos como manejo de excepciones, ejecución del método, cambio de valores de variables, etc.
- Argumentos de asesoramiento : Estos argumentos se utilizan para pasar métodos.
Conclusión
Espero que haya obtenido una descripción general completa de la arquitectura Spring MVC de este artículo.
Aquí, hemos cubierto el flujo completo de extremo a extremo del flujo Spring MVC, ¿Por qué necesitamos Spring MVC? ¿Cuáles son los diferentes módulos en la arquitectura MVC? Características de Spring MVC y el servlet dispatcher, el concepto del controlador frontal, Listeners y su función, diferentes tipos de anotaciones como @Autowired, @Controller, @RequestBody, etc.
También aprendimos más sobre el concepto de View Resolver, el proceso AOP y los diferentes tipos de controlador junto con sus usos. Localización e interceptores, arquitectura diferente del marco Spring y el concepto del resultado de la vinculación junto con sus usos.
Llegamos a saber qué es un contenedor Spring y su uso en Spring MVC. Uso de archivos de configuración en Spring MVC, responsabilidades e importancia de las variables de ruta. etc Casi todas las preguntas importantes y más esperadas de la entrevista de Spring MVC se explican en este artículo.
Sin embargo, siempre es recomendable explicar con ejemplos de código en la aplicación en tiempo real para satisfacer las expectativas del entrevistador. Todos los códigos necesarios para todos y cada uno de los conceptos están cubiertos aquí para su fácil comprensión.
¡Le deseamos todo lo mejor!
Lectura recomendada
- Preguntas y respuestas de la entrevista
- Las 25 mejores preguntas y respuestas de la entrevista de pruebas ágiles
- Más de 25 preguntas y respuestas más populares de la entrevista ADO.NET
- Algunas preguntas y respuestas complicadas sobre pruebas manuales
- Preguntas y respuestas de la entrevista de prueba ETL
- Preguntas y respuestas sobre pruebas de software (parte 1)
- Más de 40 preguntas y respuestas populares de entrevistas con analistas de control de calidad de pruebas (2021 LIST)
- Las 25 preguntas y respuestas principales de la entrevista de pruebas funcionales