22 questions et réponses fréquemment posées lors de l’entretien avec Spring Boot

Êtes-vous un développeur Java Spring Boot impatient de participer à un entretien à venir, mais vous ne savez pas à quelles questions vous attendre ? Nous sommes ici pour aider!

Cet article vous aidera à vous préparer de manière adéquate en décrivant plusieurs questions et réponses fréquemment posées lors des entretiens Spring Boot que les enquêteurs peuvent utiliser pour vous tester.

Les enquêteurs utilisent des questions stratégiques Java Spring Boot pour tester les niveaux de compétence des personnes interrogées en rapport avec leur rôle désigné. Par conséquent, vous devez vous préparer avec des questions pertinentes et savoir comment y répondre.

Avant de passer directement aux questions de l’entretien et à leurs réponses correspondantes, donnons un aperçu de base de ce qu’est Spring Boot et de son utilité pour les développeurs Java.

Qu’est-ce que Java Spring Boot ?

Ce framework Java est une création de l’équipe pivot en 2014. Spring Boot, qui est un framework open-source, développe efficacement des applications indépendantes, de qualité production et pouvant également s’exécuter sur une machine virtuelle Java (JVM).

Les développeurs Java le préfèrent pour le développement d’applications Web et de microservices pour son processus d’installation rapide et facile et son temps de configuration sûr.

L’installation et la configuration faciles des applications basées sur Spring par Spring Boot sont possibles grâce à ses trois fonctionnalités principales qui incluent :

  • Autoconfiguration – qui est une configuration automatique de l’application Spring.
  • Spring Boot fournit une approche avisée des valeurs de configuration par défaut à utiliser et des packages à installer pour les dépendances requises. Cette approche avisée aide à la mise en place rapide des projets.
  • Sprsetupoot vous permet d’exécuter votre application indépendamment sans avoir besoin d’un serveur Web.

En quoi Spring Boot est-il utile aux développeurs Java ?

D’une part, les développeurs Java utilisant Spring Boot ont plus de facilité avec la configuration automatique de tous les composants nécessaires pour développer une application Spring de qualité production. Ceci, à long terme, réduit le temps de développement et augmente finalement leur efficacité.

Spring Boot s’intègre également facilement à l’écosystème de Spring, qui comprend Spring JDBC, Spring Data, Spring Security et Spring ORM.

Les développeurs Java peuvent également connecter Spring Boot à différentes bases de données comme Oracle, MySQL, PostgreSQL et MongoDB, entre autres.

Bien sûr, des configurations flexibles avec des configurations XML, des Java Beans et des transactions de base de données sont parmi d’autres fonctionnalités utiles.

Par conséquent, maintenant que vous avez un aperçu de base de Spring Boot, examinons certaines des questions et réponses fréquemment posées lors de l’entretien avec Spring Boot qui vous aideront à préparer votre entretien.

Questions et réponses de l’entretien d’embauche de Spring Boot

Quelles sont les fonctionnalités de Spring Boot ?

Certaines de ces fonctionnalités populaires incluent :

  • La CLI Spring Boot fournit Groovy pour écrire l’application Spring Boot ; à long terme, le code passe-partout est évité.
  • Spring Boot fournit une journalisation et une fonctionnalité de sécurité qui sécurise facilement votre application contre les menaces de sécurité potentielles.
  • Il fournit une configuration automatique des composants pertinents pour votre projet, évitant ainsi le risque de fichiers WAR inutiles.
  • L’initialisateur de démarrage définit pour vous une structure de projet interne par défaut. De cette façon, vous n’avez pas à configurer manuellement la structure du projet.
  • La fonction d’actionneur Spring Boot donne accès à des informations et à des mesures au fur et à mesure que l’application s’exécute.
  • Bien sûr, l’une des fonctionnalités clés de Spring Boot, Starter Dependency, permet d’agréger les dépendances couramment utilisées d’une fonctionnalité particulière.

Que sont les démarreurs de démarrage de printemps ?

Les démarreurs Spring Boot sont des descripteurs de dépendance qui incluent un ensemble de fournisseurs de gestion des dépendances qui activent les dépendances de l’application. Ils fournissent le cadre avec la résolution de dépendance automatique. Les starters favorisent un développement facile et rapide.

Qu’est-ce qu’un actionneur dans Spring Boot et quels sont ses avantages ?

L’actionneur est l’une des fonctionnalités de Spring Boot qui vous permet de surveiller ce qui se passe dans une application pendant son exécution.

Pendant le débogage, par exemple, vous pouvez utiliser l’actionneur pour analyser les journaux en permettant l’accès à des fonctionnalités telles que l’utilisation du processeur et l’identification des beans.

De plus, l’actionneur fournit non seulement un accès facile aux terminaux REST prêts pour la production, qui surveillent et gèrent les informations, mais récupèrent également les données sur le Web.

Qu’est-ce que la feuille de thym et comment l’utiliser ?

Thymeleaf est le modèle côté serveur de Java qui crée une mise en page de modèle naturelle pour les applications Web Spring et HTML5 Java.

Spring Boot effectuera une configuration automatique de thymeleaf en utilisant la dépendance spring-boot-starter-thymeleaf dans le fichier pom.xml pour servir le contenu Web dynamique.

Pour permettre à Spring Boot de lire et de restituer les modèles thymeleaf ou les fichiers HTML, placez les modèles dans src/main/resources/templates.

Thymeleaf analyse ensuite le fichier index.html et utilise les valeurs réelles que vous transmettez depuis la classe du contrôleur à la place des valeurs dynamiques disponibles dans le fichier d’index.

Après cela, le message s’affiche dans le navigateur Web dès que l’application Spring Boot s’exécute.

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

Décrivez le processus de création d’un projet Spring Boot à l’aide de Spring Initializer.

Spring Initializr, qui est un outil Web Spring, vous permet de créer un projet Spring Boot en quelques étapes en fournissant les détails du projet.

  • Rendez-vous sur Spring intializr et remplissez les champs de saisie.
  • Cliquez sur le bouton Générer pour lancer le téléchargement du projet.
  • Extrayez le projet téléchargé du fichier zip et ouvrez-le depuis votre IDE. Dans l’IDE, accédez à Fichier-> Nouveau-> Projet à partir de sources existantes-> Spring-boot-app, puis sélectionnez le fichier pom.xml. Cliquez sur l’invite d’importation des modifications pour que le projet se synchronise. Après cela, n’oubliez pas d’aller dans le fichier application.properties et de modifier le numéro de server.port en server.port=7000.
  • Maintenant, exécutez l’application à partir de src-> main-> java-> com.gfg.Spring.boot.app
  • Qu’est-ce que JPA dans Spring Boot ?

    Il s’agit d’une spécification Java qui utilise le mappage objet-relation (ORM) pour gérer les données relationnelles et permet l’accès aux données entre l’objet Java ou la classe Java et la base de données relationnelle de l’application.

    JPA utilise le Java Persistent Query Language (JPQL), un langage de requête orienté objet qui est également indépendant de la plate-forme.

    JPA permet le traitement des requêtes et les transactions d’objets sur la base de données à l’aide de l’API Entity Manager qu’elle fournit.

    Qu’est-ce que la configuration automatique dans Spring Boot ?

    La configuration automatique cherche à automatiser la configuration de l’application Spring Boot à l’aide des dépendances jar que vous ajoutez aux applications.

    En fonction des dépendances disponibles dans le Classpath de l’application, la configuration automatique déclarera les objets intégrés du module spécifique au printemps, y compris JPA, et la sécurité du printemps, entre autres.

    Que sont les annotations de printemps ?

    Les annotations Spring font référence à des métadonnées offrant des informations sur un extrait de programme et ajoutent des données supplémentaires à ce programme. Les composants de code, y compris les classes et les méthodes, sont souvent associés à des annotations.

    Les annotations n’affectent pas directement le fonctionnement du programme ou l’action ultérieure du code compilé.
    Leur syntaxe commence par le symbole ‘@’.

    Spring Boot fournit six principaux types d’annotations, notamment :

    • Annotations de base de printemps
    • Annotations de données de printemps
    • Annotations de haricot de printemps
    • Annotations Web de printemps
    • Annotations de programmation de printemps
    • Annotations de démarrage de printemps

    Que signifie Spring Data REST ?

    Spring Data REST expose les ressources dans RESTful qui se trouvent autour de Spring Data Resources en utilisant un code minimal.

    L’exemple suivant utilise la méthode POST pour demander du contenu en utilisant http://localhost/example comme URL et Content-Type: application/json comme en-tête.

    Contenu de la demande :

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

    Contenu de la réponse :

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

    Il s’agit d’un ensemble complet d’outils prédéfinis dont les propriétés sont appliquées aux environnements de développement respectifs pour faciliter le développement et gagner du temps de développement.

    Chaque fois que vous modifiez le code dans l’application Spring Boot, la fonctionnalité Spring Boot DevTools redémarre automatiquement. Par conséquent, cela vous évite de redémarrer manuellement votre application chaque fois que vous modifiez votre code.

    Qu’est-ce que Spring Data ?

    Les données de printemps visent à donner aux développeurs un accès facile aux technologies d’accès aux données telles que les données relationnelles et non relationnelles et les services de données basés sur le cloud, car elles continuent de conserver les caractéristiques spéciales du magasin de données sous-jacent.

    Comment dire à une configuration automatique de reculer lorsqu’un bean existe?

    Ici, vous utiliserez l’annotation @ConditionalOnMissingBean, qui inclut le nom et l’attribut de valeur comme suit.

    • l’attribut value stocke le type de bean à vérifier
    • attribut name qui nomme le bean à vérifier

    Comment récupérer les données de la base de données dans Spring Boot ?

    Nous pouvons accéder aux données d’une base de données MySQL à notre application Spring Boot en procédant comme suit.

    Étape 1 : Utilisez la commande create DATABASE person pour créer la base de données dans MySQL.

    Étape 2 : Dans la base de données, créez une table :

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

    Étape 3 : Créez maintenant une application Spring Boot, puis ajoutez-y JDBC, MySQL et les dépendances Web requises.

    Étape 4 : Configurez la base de données à partir du fichier application.properties comme ci-dessous.

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

    Étape 5 : Ensuite, gérons les requêtes dans la classe contrôleur :

    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";
       }
    }

    Enfin, exécutez votre application pendant que vous vérifiez l’entrée de la base de données pour voir les données consultées.

    Pourquoi avons-nous besoin de Spring Profiles ?

    Les profils Spring permettent de séparer la configuration d’une application en différentes parties et de les utiliser pour des développements spécifiques.

    Les profils Spring évitent également au développeur la gestion des configurations externes spécifiques à l’environnement si les profils Spring n’étaient pas disponibles.

    De plus, cela rendrait difficile la synchronisation et signifierait le besoin supplémentaire d’écrire plusieurs composants de type usine qui utiliseraient certaines choses requises en fonction de paramètres spécifiques à l’environnement.

    Pouvons-nous changer le port du serveur Tomcat intégré au démarrage de Spring ?

    Oui nous pouvons.

    Cela se fait en manipulant le fichier application.properties pour inclure la propriété server.port et en lui attribuant un port de votre choix. Spring Boot charge automatiquement le fichier de propriétés de l’application et applique les configurations requises à l’application.

    Par exemple, vous pouvez modifier le numéro de server.port de la valeur par défaut de 8080 à server.port= 8081.

    Comment configurez-vous Log4j pour la journalisation ?

    Avec ces quelques étapes simples, nous pouvons configurer Log4j pour la journalisation :

  • Commencez par créer votre projet Java, puis cliquez avec le bouton droit sur le projet. Accédez à MyEclipse-> Fichier-> Nouveau-> Projet Java pour nommer le projet et cliquez sur Terminer.
  • Ensuite, cliquez avec le bouton droit sur le nom de votre projet Java et sélectionnez Build Path -> Configure Build Path. Cette étape ajoutera le fichier log4j.
  • Accédez à la bibliothèque et cliquez sur le bouton Ajouter des fichiers JARS externes, puis sélectionnez le fichier log4j dans le menu déroulant qui s’affiche. Cliquez ensuite sur OK.
  • Créez un nouveau fichier Java que vous appellerez le fichier log4j.properties, puis cliquez sur Terminer et ajoutez ce fichier au Classpath.
  • Cliquez sur Avancé dans le Classpath, puis sélectionnez l’option Ajouter des dossiers et n’oubliez pas de cliquer sur OK.
  • Vous pouvez maintenant rechercher le fichier log4j.properties, cliquer sur OK et exécuter le projet.
  • Vérifiez la console pour la sortie ci-dessous.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Qu’est-ce qu’un conteneur IoC ?

    Le conteneur IoC (Inversion of Control) est un conteneur Spring central qui implémente automatiquement l’injection de dépendances. Il instancie l’application de la classe et est responsable de la configuration des objets et de l’assemblage des dépendances nécessaires.

    Il gère également le cycle de vie de l’objet depuis son instanciation jusqu’à sa destruction.

    IoC effectue ces tâches à l’aide de la configuration des métadonnées dans le code Java, XML et les annotations Java.

    Le conteneur est appelé inversion de contrôle car il contrôle les objets Java et les cycles de vie de ces objets. Ceci est autrement la tâche d’un développeur.

    Expliquer comment créer une application Spring Boot à l’aide de Maven

    Ce processus comporte une série d’étapes.

    Étape 1 : Sélectionnez le type de projet.

    Étape 2 : Nommez votre projet pour le configurer, puis cliquez sur le bouton Terminer pour créer le projet.

    Étape 3 : Maintenant, nous allons configurer le fichier pom.xml du projet Maven pour en créer un projet Spring Boot.

    Fichier 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 configuration implique l’ajout d’un parent au projet Maven. Cela déclarera le projet Maven en tant que projet enfant du projet parent.

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

    Étape 4 : Ensuite, ajoutez la dépendance Web, spring-boot-starter-web, au fichier pom.xml.

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

    Étape 5 : Ajoutez la version Java du projet.

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

    Étape 6 : Notez que chaque fois que vous ajoutez de nouvelles dépendances, vous devez mettre à jour le projet Maven.

    Étape 7 : Rendre le projet Maven exécutable en créant une classe Java dans le package src/main/java.

    Étape 8 : Ensuite, appelez la méthode d’exécution statique de classe de l’application Spring.

    Étape 9 : Enfin, exécutez la classe en tant qu’application Java.

    Quels sont les avantages de Spring Boot par rapport à Spring ?

    • La capacité d’amorçage de Spring Boot pour compiler le langage source à l’aide de l’initialiseur de démarrage, une technique appelée amorçage, permet d’économiser de l’espace sur les appareils des utilisateurs et réduit également le temps de chargement de l’application.
    • Contrairement à Spring, Spring Boot permet la gestion des dépendances après l’ajout des dépendances spring-boot sans dépendre du POM parent (modèle d’objet parent) ou du fichier XML.
    • Spring Boot permet également aux développeurs d’utiliser des annotations ou des configurations XML sans avoir besoin d’utiliser des configurations XML.
    • Les développeurs préfèrent Spring Boot pour son code passe-partout réduit requis pour configurer une application. En effet, Spring Boot est livré avec une base de données en mémoire et un serveur Tomcat intégré, ce qui réduit le code passe-partout. Le printemps, en revanche, a plus de code passe-partout.
    • Spring Boot ne nécessite pas nécessairement des fichiers WAR (ressource d’application Web) et ne peut s’appuyer que sur le JAR (ressource Java), qui a une structure plus petite et plus simple et est donc plus utile aux utilisateurs et aux développeurs.
    • Spring Boot intègre également automatiquement des serveurs tels que Tomcat et Jetty ; par conséquent, le développeur n’a pas besoin de configurer manuellement le serveur comme vous êtes censé le faire au printemps.

    Le processus de pagination divise les données en sections pour économiser les ressources. Il comporte deux champs, la taille de la page et le numéro de page.

    Le processus comporte quelques étapes, notamment :

    Étape 1 : configuration initiale
    Entité Consisetupn, nous nommerons Person comme classe de domaine.

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

    Étape 2 : Création du référentiel
    Ensuite, utilisez un PersonRepository étend PagingAndSortingRepository pour pouvoir obtenir les méthodes findAll(Pageable pageable) et findAll(Sort sort) pour la pagination et le tri, respectivement.

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

    Étape 3 : étape de pagination
    La première étape ici consiste à créer un objet PageRequest ; en transmettant le numéro de page et la taille de la page comme demandé qui implémente l’interface Pageable.

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

    Passez ensuite cet objet PageRequest à la méthode du référentiel en tant que paramètre.

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

    Par défaut, la méthode findAll(Pageable pageable) renverra un objet Page.

    Expliquer comment enregistrer une configuration automatique personnalisée

    Sous le fichier META-INF/spring.factories de la clé @EnableAutoConfiguration, mentionnez le nom complet. Cette étape enregistre la classe de configuration automatique.

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

    Pour construire le projet à l’aide de Maven, vous devrez placer le fichier dans le répertoire resources/META-INF.

    Qu’est-ce que le bootstrap dans Spring Boot ?

    L’amorçage est le processus d’exécution de la logique dans l’application Spring Boot au démarrage.
    L’initialisateur de démarrage compile le langage source dans Spring Boot. Ce processus économise de l’espace sur l’appareil et réduit également le temps de chargement de l’application.

    Derniers mots 👨‍💻

    Eh bien, cet article a couvert certaines questions de Spring Boot que les enquêteurs vous poseront probablement lors de votre entretien et les réponses pour vous aider à le réussir en toute confiance. Nous espérons que vous décrocherez l’emploi de vos rêves !

    Vous voudrez peut-être également apprendre quelques conseils pertinents à partir des questions posées lors d’un entretien Java.

    Bonne chance ! 🙂