Cuestionario sobre la Capa de Servicio y Arquitectura en Spring Boot
|
|
Título del Test:
![]() Cuestionario sobre la Capa de Servicio y Arquitectura en Spring Boot Descripción: dar servidor |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Qué es la capa de servicio en una aplicación?. La parte encargada de la interfaz de usuario. La parte encargada de la lógica de negocio. La parte encargada de gestionar las peticiones HTTP. La parte encargada de acceder a los datos de la base de datos. ¿Qué anotación se utiliza para marcar una clase como servicio en Spring?. @Controller. @Repository. @Service. @Component. ¿Cuál es la función principal de los controladores en una arquitectura de capas?. Realizar cálculos complejos. Gestionar la lógica de negocio. Recibir peticiones del usuario y coordinar el flujo. Acceder directamente a la base de datos. ¿Cómo se inyecta un servicio en un controlador?. Usando la anotación @Autowired. Creando una instancia manual del servicio. Usando la anotación @Service dentro del controlador. No se necesita inyección, el controlador llama al servicio directamente. ¿Qué ventaja tiene el uso de interfaces en los servicios?. Aumenta la complejidad del código. Permite cambiar la implementación sin modificar el controlador. Hace que el código sea menos legible. Impide realizar pruebas unitarias. ¿Qué sucede si una clase de servicio tiene un constructor con parámetros?. Spring no puede inyectar la dependencia. Se debe definir un constructor sin parámetros. Spring intentará resolver e inyectar las dependencias del constructor. Se lanza un error en tiempo de ejecución. ¿Qué ocurre si creamos una instancia de un servicio manualmente con `new`?. La instancia no forma parte del contenedor de Spring y no recibe dependencias. Es la forma recomendada de crear instancias en Spring. Spring automáticamente gestiona esa instancia. Se duplican las instancias del servicio. ¿Cuál es la función de la anotación @Qualifier?. Define la clase como un servicio. Permite indicar explícitamente qué implementación de una interfaz se debe inyectar. Crea una nueva instancia del servicio. Gestiona las peticiones HTTP. ¿Qué ocurre si no se especifica @Qualifier cuando hay múltiples implementaciones de una interfaz?. Se lanza un error NoUniqueBeanDefinitionException. Spring selecciona la implementación por defecto. Spring crea una nueva implementación. El código funciona sin problemas. ¿Qué hace el atributo @Primary en un servicio?. Indica que el servicio es el principal y se debe usar por defecto en la inyección. Define la prioridad del servicio en el contenedor de Spring. Crea una nueva instancia del servicio. No tiene ningún efecto en la inyección de dependencias. ¿Qué es una excepción en el contexto de la capa de servicio?. Un error en la interfaz de usuario. Un mecanismo para manejar situaciones de error y validar parámetros. Una forma de redirigir al usuario a otra página. Un evento que activa un método en el controlador. ¿Qué sucede con los atributos del Model al usar un redirect?. Se conservan. Se duplican. Se pierden. Se actualizan. ¿Cuál es el propósito de la clase `ProductoException` en el ejemplo?. Redirigir al usuario a una página de error. Definir una excepción específica para el servicio, mejorando la claridad. Crear una nueva instancia del servicio. Validar los datos del usuario. ¿Qué utilidad tiene la interfaz `CommandLineRunner` en Spring Boot?. Definir la interfaz de usuario. Ejecutar código automáticamente después de que se carga el contexto de la aplicación. Manejar las peticiones HTTP. Crear una nueva instancia del servicio. ¿Cómo se define un `CommandLineRunner` como un Bean en la clase principal?. Implementando la interfaz `CommandLineRunner` en la clase principal. Usando la anotación @Bean y definiendo un método que retorne una instancia de `CommandLineRunner`. Creando una clase independiente que implementa `CommandLineRunner` y la anota con @Component. Todas las anteriores. ¿Dónde se ejecuta el código dentro de un `CommandLineRunner`?. Antes de que se cargue el contexto de la aplicación. Después de que se carga el contexto de la aplicación. Cuando el usuario hace una petición. Cuando se lanza una excepción. ¿Qué es el patrón MVC?. Modelo-Vista-Controlador: un patrón para organizar la lógica de negocio. Modelo-Vista-Controlador: un patrón para organizar una aplicación separando la responsabilidad en tres partes: modelo, vista, controlador. Modelo-Validación-Control: un patrón para validar la entrada de datos. Ninguna de las anteriores. ¿Qué es el modelo (model) en MVC?. Gestiona las peticiones HTTP. Contiene la lógica de negocio. Representa los objetos de dominio de la aplicación. Prepara los datos para la vista. ¿Qué son los servicios (service) en MVC?. Gestionan la interfaz de usuario. Contienen la lógica de negocio. Reciben las peticiones del usuario. Se encargan de presentar la información al usuario. ¿Qué hacen los controladores (controller) en MVC?. Representan los datos. Gestionan la lógica de negocio. Coordinan el flujo entre los servicios y la vista. Presentan la información al usuario. ¿Qué ventaja tiene la organización MVC?. Mayor complejidad del código. Dificulta la reutilización de la lógica de negocio. Facilita la reutilización de la lógica de negocio en distintos controladores o componentes. Hace más difícil integrar nuevas funcionalidades. ¿Qué debe contener el paquete 'model' en la estructura recomendada?. La lógica de negocio. Las clases que representan los objetos de dominio de la aplicación. Los controladores HTTP. Los servicios. ¿Qué debe contener el paquete 'service' en la estructura recomendada?. Los controladores HTTP. Las clases que gestionan las peticiones HTTP. La lógica de negocio de la aplicación. Las clases que representan los objetos de dominio de la aplicación. ¿Qué debe contener el paquete 'controller' en la estructura recomendada?. La lógica de negocio de la aplicación. Las clases que representan los objetos de dominio de la aplicación. Las clases que gestionan las peticiones HTTP. Las interfaces de usuario. |




