22 preguntas y respuestas frecuentes de la entrevista Spring Boot

¿Es usted un desarrollador de Java Spring Boot que desea participar en una próxima entrevista pero no está seguro de qué preguntas esperar? ¡Estamos aquí para ayudar!

Este artículo lo ayudará a prepararse adecuadamente al describir varias preguntas y respuestas frecuentes de la entrevista de Spring Boot que los entrevistadores pueden usar para evaluarlo.

Los entrevistadores usan preguntas estratégicas de Java Spring Boot para probar los niveles de habilidad de los entrevistados relevantes para su rol designado. Por lo tanto, debe prepararse con preguntas relevantes y saber cómo responderlas.

Antes de pasar directamente a las preguntas de la entrevista y sus respuestas correspondientes, cubramos una descripción general básica de lo que es Spring Boot y lo útil que es para los desarrolladores de Java.

¿Qué es Java Spring Boot?

Este marco de Java es una creación del equipo pivotal en 2014. Spring Boot, que es un marco de código abierto, desarrolla de manera eficiente aplicaciones que son independientes, de nivel de producción y también pueden ejecutarse en una máquina virtual de Java (JVM).

Los desarrolladores de Java lo prefieren para el desarrollo de aplicaciones web y microservicios por su proceso de instalación rápido y fácil y su tiempo de configuración seguro.

La instalación y configuración sencillas de las aplicaciones basadas en Spring por Spring Boot son posibles con sus tres capacidades principales que incluyen:

  • Configuración automática: que es una configuración automática de la aplicación Spring.
  • Spring Boot proporciona un enfoque obstinado de los valores predeterminados de configuración que se usarán y los paquetes que se instalarán para las dependencias requeridas. Este enfoque obstinado ayuda en la configuración rápida de los proyectos.
  • Sprsetupoot le permite ejecutar su aplicación de forma independiente sin necesidad de un servidor web.

¿Cómo es Spring Boot útil para los desarrolladores de Java?

Por un lado, los desarrolladores de Java que utilizan Spring Boot lo tienen más fácil con la configuración automática de todos los componentes necesarios para desarrollar una aplicación Spring de nivel de producción. Esto, a la larga, reduce el tiempo de desarrollo y eventualmente aumenta su eficiencia.

Spring Boot también se integra fácilmente con el ecosistema de Spring, que incluye Spring JDBC, Spring Data, Spring Security y Spring ORM.

Los desarrolladores de Java también pueden conectar Spring Boot con diferentes bases de datos como Oracle, MySQL, PostgreSQL y MongoDB, entre otras.

Por supuesto, las configuraciones flexibles con configuraciones XML, Java Beans y transacciones de bases de datos se encuentran entre otras características útiles.

Por lo tanto, ahora que tiene una descripción general básica de Spring Boot, consideremos algunas de las preguntas y respuestas frecuentes de la entrevista de Spring Boot que lo ayudarán a prepararse para su entrevista.

Preguntas y respuestas de la entrevista Spring Boot

¿Cuáles son algunas características de Spring Boot?

Algunas de estas características populares incluyen:

  • Spring Boot CLI proporciona Groovy para escribir la aplicación Spring Boot; a la larga, se evita el código repetitivo.
  • Spring Boot proporciona registro y una función de seguridad que protege fácilmente su aplicación de posibles amenazas de seguridad.
  • Proporciona configuración automática de componentes relevantes para su proyecto, evitando así el riesgo de archivos WAR innecesarios.
  • El inicializador inicial establece una estructura de proyecto interna predeterminada para usted. De esta forma, no tiene que configurar manualmente la estructura del proyecto.
  • La función del actuador Spring Boot brinda acceso a información y métricas a medida que se ejecuta la aplicación.
  • Por supuesto, una de las funciones clave de Spring Boot, Starter Dependency, ayuda a agregar las dependencias de uso común de una función en particular.

¿Qué son los arrancadores Spring Boot?

Los iniciadores de Spring Boot son descriptores de dependencia que incluyen un conjunto de proveedores de administración de dependencias que habilitan las dependencias de la aplicación. Proporcionan el marco con resolución de dependencia automática. Los arrancadores potencian un desarrollo fácil y rápido.

¿Qué es un actuador en Spring Boot y cuáles son sus ventajas?

El actuador es una de las características de Spring Boot que le permite monitorear lo que sucede dentro de una aplicación mientras se ejecuta.

Durante la depuración, por ejemplo, puede usar el actuador para analizar registros al permitir el acceso a funciones como el uso de la CPU y la identificación de beans.

Además, el actuador no solo brinda un fácil acceso a los puntos finales REST listos para la producción, que monitorean y administran la información, sino que también recuperan datos de la web.

¿Qué es thymeleaf y cómo usar thymeleaf?

Thymeleaf es la plantilla del lado del servidor de Java que crea un diseño de plantilla natural para aplicaciones web Spring y HTML5 Java.

Spring Boot realizará una configuración automática de thymeleaf usando la dependencia spring-boot-starter-thymeleaf en el archivo pom.xml para servir el contenido web dinámico.

Para permitir que Spring Boot lea y represente las plantillas de hoja de tomillo o los archivos HTML, coloque las plantillas en src/main/resources/templates.

Thymeleaf luego analiza el archivo index.html y usa los valores reales que pasa de la clase de controlador en lugar de los valores dinámicos disponibles en el archivo de índice.

Después de esto, el mensaje se muestra en el navegador web tan pronto como se ejecuta la aplicación Spring Boot.

org.springframework.boot spring-boot-starter-thymeleaf

Describa el proceso de creación de un proyecto Spring Boot utilizando Spring Initializer.

Spring Initializr, que es una herramienta web de Spring, le permite crear un proyecto de Spring Boot siguiendo unos pocos pasos proporcionando los detalles del proyecto.

  • Dirígete a Spring intializr y completa los campos de entrada.
  • Al hacer clic en el botón Generar, se iniciará la descarga del proyecto.
  • Extraiga el proyecto descargado del archivo zip y ábralo desde su IDE. Desde el IDE, vaya a Archivo->Nuevo->Proyecto de fuentes existentes->Spring-boot-app, luego seleccione el archivo pom.xml. Haga clic en el aviso de importación de cambios para que el proyecto se sincronice. Después de esto, recuerda ir al archivo application.properties y editar el número de server.port a server.port=7000.
  • Ahora, ejecute la aplicación desde src->main->java->com.gfg.Spring.boot.app
  • ¿Qué es JPA en Spring Boot?

    Esta es una especificación en Java que utiliza Mapeo de relación de objetos (ORM) para administrar datos relacionales y permite el acceso a datos entre el objeto Java o la clase Java y la base de datos relacional de la aplicación.

    JPA utiliza Java Persistent Query Language (JPQL), un lenguaje de consulta orientado a objetos que también es independiente de la plataforma.

    JPA permite el procesamiento de consultas y transacciones de objetos contra la base de datos utilizando la API de Entity Manager que proporciona.

    ¿Qué es la configuración automática en Spring Boot?

    La configuración automática busca automatizar la configuración de la aplicación Spring Boot utilizando las dependencias jar que agrega a las aplicaciones.

    Según las dependencias disponibles en Classpath de la aplicación, la configuración automática declarará los objetos integrados del módulo específico de Spring, incluidos JPA y Spring Security, entre otros.

    ¿Qué son las anotaciones de primavera?

    Las anotaciones Spring se refieren a metadatos que ofrecen información sobre un fragmento de programa y agregan datos complementarios a ese programa. Los componentes del código, incluidas las clases y los métodos, a menudo se asocian con anotaciones.

    Las anotaciones no afectan directamente el funcionamiento del programa ni la acción posterior del código compilado.
    Su sintaxis comienza con el símbolo ‘@’.

    Spring Boot proporciona seis tipos principales de anotaciones que incluyen:

    • Anotaciones de Spring Core
    • Anotaciones de datos de primavera
    • Anotaciones de frijol primavera
    • Anotaciones web de primavera
    • Anotaciones de programación de primavera
    • Anotaciones de arranque de primavera

    ¿Qué significa Spring Data REST?

    Spring Data REST expone los recursos en RESTful que están alrededor de Spring Data Resources utilizando un código mínimo.

    El siguiente ejemplo usa el método POST para solicitar contenido usando http://localhost/example como URL y Content-Type: application/json como encabezado.

    Solicitar contenido:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
    }

    Contenido de la respuesta:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
        "_links": {
            "self": {
                "href": "http://localhost:8080/example/1"
            },
            "person": {
                "href": "http://localhost:8080/example/1"
             }
        }
    }

    Se trata de un amplio conjunto de herramientas predefinidas cuyas propiedades se aplican a los respectivos entornos de desarrollo para facilitar el desarrollo y ahorrar tiempo de desarrollo.

    Cada vez que cambia el código en la aplicación Spring Boot, la función Spring Boot DevTools se reinicia automáticamente. Por lo tanto, le ahorra la molestia de reiniciar manualmente su aplicación cada vez que modifica su código.

    ¿Qué son los datos de primavera?

    Spring Data busca brindarles a los desarrolladores un fácil acceso a las tecnologías de acceso a datos, como datos relacionales y no relacionales y servicios de datos basados ​​en la nube, ya que continúa manteniendo las características especiales del almacén de datos subyacente.

    ¿Cómo decirle a una configuración automática que retroceda cuando existe un bean?

    Aquí utilizará la anotación @ConditionalOnMissingBean, que incluye el atributo de nombre y valor de la siguiente manera.

    • El atributo de valor almacena el tipo de bean para comprobar
    • atributo de nombre que nombra el bean para verificar

    ¿Cómo obtener datos de la base de datos en Spring Boot?

    Podemos acceder a los datos de una base de datos MySQL a nuestra aplicación Spring Boot siguiendo los siguientes pasos.

    Paso 1: use el comando create DATABASE person para crear la base de datos en MySQL.

    Paso 2: dentro de la base de datos, cree una tabla:

    CREATE TABLE person(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(255));

    Paso 3: ahora cree una aplicación Spring Boot, luego agréguele JDBC, MySQL y las dependencias web requeridas.

    Paso 4: configure la base de datos desde el archivo application.properties como se muestra a continuación.

    spring.datasource.url=jdbc:mysql://localhost:3306/personDetails
    spring.datasource.username=example123
    spring.datasource.password=example123
    spring.jpa.hibernate.ddl-auto=create-drop

    Paso 5: A continuación, manejemos las solicitudes en la clase de controlador:

    package com.person;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class JdbcController {
       @Autowired
       JdbcTemplate jdbc;
       @RequestMapping("/save")
       public String index(){
          jdbc.execute("insert into person (name)values(Trial)");
          return "Name entered Successfully";
       }
    }

    Por último, ejecute su aplicación mientras verifica la entrada de la base de datos para ver los datos a los que se accedió.

    ¿Por qué necesitamos Spring Profiles?

    Spring Profiles permite la segregación de la configuración de una aplicación de diferentes partes y aprovecharlas para desarrollos específicos.

    Spring Profiles también ahorra al desarrollador la molestia de administrar configuraciones externas específicas del entorno si Spring Profiles no estuviera disponible.

    Además, esto dificultaría la sincronización y significaría la necesidad adicional de escribir varios componentes similares a los de fábrica que aprovecharían ciertas cosas requeridas según los parámetros específicos del entorno en particular.

    ¿Podemos cambiar el puerto del servidor Tomcat incorporado en Spring boot?

    Si podemos.

    Esto se hace manipulando el archivo application.properties para incluir la propiedad server.port y asignándole un puerto de su elección. Spring Boot carga automáticamente el archivo de propiedades de la aplicación y aplica las configuraciones requeridas a la aplicación.

    Por ejemplo, puede cambiar el número de puerto de servidor del valor predeterminado de 8080 a puerto de servidor = 8081.

    ¿Cómo se configura Log4j para iniciar sesión?

    Con estos sencillos pasos, podemos configurar Log4j para iniciar sesión:

  • Primero, cree su proyecto Java, luego haga clic derecho en el proyecto. Vaya a MyEclipse->File->New->Java Project para nombrar el proyecto y haga clic en Finalizar.
  • A continuación, haga clic con el botón derecho en el nombre de su proyecto Java y seleccione Ruta de compilación -> Configurar ruta de compilación. Este paso agregará el archivo log4j.
  • Navegue a la biblioteca y haga clic en el botón Agregar JARS externos y seleccione el archivo log4j en el menú desplegable que aparece. Luego haga clic en Aceptar.
  • Cree un nuevo archivo java al que llamará archivo log4j.properties, luego haga clic en finalizar y agregue este archivo a Classpath.
  • Haga clic en Avanzado en Classpath, luego seleccione la opción Agregar carpetas y recuerde hacer clic en Aceptar.
  • Ahora puede buscar el archivo log4j.properties, hacer clic en Aceptar y ejecutar el proyecto.
  • Verifique la consola para ver la salida a continuación.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    ¿Qué es un contenedor IoC?

    El contenedor IoC (Inversion of Control) es un contenedor principal de Spring que implementa automáticamente la inyección de dependencia. Instancia la aplicación de la clase y es responsable de la configuración de los objetos y el ensamblaje de las dependencias necesarias.

    También gestiona el ciclo de vida del objeto desde su instanciación hasta su destrucción.

    IoC realiza estas tareas mediante la configuración de metadatos en código Java, XML y anotaciones Java.

    El contenedor se denomina Inversión de control porque controla los objetos Java y los ciclos de vida de estos objetos. De lo contrario, esta es una tarea del desarrollador.

    Explicar cómo crear una aplicación Spring Boot usando Maven

    Este proceso implica una serie de pasos.

    Paso 1: Seleccione el tipo de proyecto.

    Paso 2: Asigne un nombre a su proyecto para configurarlo, luego haga clic en el botón Finalizar para crear el proyecto.

    Paso 3: Ahora, configuraremos el archivo pom.xml del proyecto Maven para crear un proyecto Spring Boot a partir de él.

    archivo pom.xml:

    <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <groupId>com.javatpoint</groupId>  
      <artifactId>spring-boot-example</artifactId>  
      <version>0.0.1-SNAPS<name>JavaTpoint Spring Boot Example</name>  
    </project>  

    La configuración implica la adición de un padre al proyecto Maven. Esto declarará el proyecto Maven como un proyecto secundario del proyecto principal.

    <parent>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-parent</artifactId>  
        <version>1.4.2.RELEASE</version>  
    </parent>  

    Paso 4: A continuación, agregue la dependencia web, spring-boot-starter-web, al archivo pom.xml.

    <dependencies>  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>  
    </dependencies>  

    Paso 5: agregue la versión de Java del proyecto.

    <properties>  
        <java.version>1.8</java.version>  
    </properties> 

    Paso 6: tenga en cuenta que cada vez que agrega nuevas dependencias, debe actualizar el proyecto Maven.

    Paso 7: haga que el proyecto Maven sea ejecutable creando una clase Java dentro del paquete src/main/java.

    Paso 8: A continuación, llame al método de ejecución estática de clase de la aplicación Spring.

    Paso 9: por último, ejecute la clase como una aplicación Java.

    ¿Cuáles son las ventajas de Spring Boot sobre Spring?

    • La capacidad de arranque de Spring Boot para compilar el idioma de origen mediante el inicializador de arranque, una técnica llamada arranque, permite ahorrar espacio en los dispositivos de los usuarios y también reduce el tiempo de carga de la aplicación.
    • A diferencia de Spring, Spring Boot permite la administración de dependencias después de agregar las dependencias de arranque de primavera sin depender del POM principal (modelo de objeto principal) o el archivo XML.
    • Spring Boot también permite a los desarrolladores usar anotaciones o configuraciones XML sin necesidad de usar configuraciones XML.
    • Los desarrolladores prefieren Spring Boot por su reducido código repetitivo requerido para configurar una aplicación. Esto se debe a que Spring Boot viene con una base de datos en memoria y un servidor Tomcat incorporado, lo que reduce el código repetitivo. Spring, por otro lado, tiene más código repetitivo.
    • Spring Boot no requiere necesariamente archivos WAR (recursos de aplicaciones web) y solo puede confiar en JAR (recursos de Java), que tiene una estructura pequeña y más simple y, por lo tanto, es más útil para usuarios y desarrolladores.
    • Spring Boot también integra automáticamente servidores como Tomcat y Jetty; por lo tanto, el desarrollador no necesita configurar manualmente el servidor como se supone que debe hacer en Spring.

    El proceso de paginación divide los datos en secciones para ahorrar recursos. Implica dos campos, el tamaño de página y el número de página.

    El proceso implica algunos pasos, que incluyen:

    Paso 1: configuración inicial
    Consisetupn entidad vamos a nombrar Persona como la clase de dominio.

    @Entity 
    public class Person {
        @Id
        private long id;
        private String name; 
    }

    Paso 2: creación del repositorio
    A continuación, use un PersonRepository que extienda PagingAndSortingRepository para poder obtener los métodos findAll(Pageable pageable) y findAll(Sort sort) para paginación y clasificación, respectivamente.

    public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> {
        List<Product> findAllByPrice(double price, Pageable pageable);
    }

    Paso 3: paso de paginación
    El primer paso aquí consiste en crear un objeto PageRequest; pasando el número de página y el tamaño de página según lo solicitado que implementa la interfaz Pageable.

    Pageable firstPageWithTwoElements = PageRequest.of(0,2);
    Pageable secondPageWithThreeElements = PageRequest.of(1,3);

    Luego pase este objeto PageRequest al método de repositorio como un parámetro.

    Page<Person> allProducts = personRepository.findAllByPrice(findPageWithTwoElements);
    List<Items> allTwoDollarItems = itemsRepository.findAllByPrice(2, secondPageThreeElements) 

    De forma predeterminada, el método findAll(Pageable pageable) devolverá un objeto Page.

    Explicar cómo registrar una configuración automática personalizada

    En el archivo META-INF/spring.factories de la clave @EnableAutoConfiguration, mencione el nombre completo. Este paso registra la clase de configuración automática.

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfigure.CustomAutoConfiguration

    Construir el proyecto usando Maven requerirá que coloques el archivo en el directorio resources/META-INF.

    ¿Qué es el arranque en Spring Boot?

    Bootstrapping es el proceso de ejecutar la lógica en la aplicación Spring Boot al inicio.
    Boot initializr compila el idioma de origen en Spring Boot. Este proceso ahorra espacio en el dispositivo y también reduce el tiempo de carga de la aplicación.

    Palabras finales 👨‍💻

    Bueno, este artículo cubrió algunas preguntas de Spring Boot que los entrevistadores probablemente le harán durante su entrevista y las respuestas para ayudarlo a superarlo con confianza. ¡Esperamos que consigas el trabajo de tus sueños!

    También puede querer aprender algunos consejos relevantes de las preguntas formuladas durante una entrevista de Java.

    ¡Mucha suerte! 🙂