QCM Framework Spring – Partie 5

QCM sur le framework Spring avec des réponses pour la préparation des entretiens d’embauche, tests en ligne, examens et certifications. Ces questions et réponses sur Spring comprennent divers sujets tel que les bases du Spring, Injection de dépendance, MVC3, AOP, sécurité, annotation, intégration et concepts avancés de Spring. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur Spring.
 
 

1. Quelle est la meilleure pratique pour sécuriser une API REST dans Spring Boot ?

A Utiliser HTTPS

B Utiliser l’authentification de base

C Utilisation d’OAuth2

D Utilisation des clés API

C
L’utilisation d’OAuth2 est considérée comme une meilleure pratique pour sécuriser les API REST dans Spring Boot, car elle offre de solides capacités d’autorisation.

 

2. Un développeur rencontre une erreur 404 Not Found lorsqu’il accède à un endpoint REST dans Spring Boot. Quelle en est la cause probable ?

A URL incorrecte dans la requête

B Le serveur ne fonctionne pas

C Adresse d’accès non définie

D Pare-feu bloquant l’accès

A
Une erreur 404 Not Found indique généralement que l’URL fournie dans la requête ne correspond à aucun des endpoints définis.

 

3. Si une méthode API REST dans Spring Boot renvoie de façon inattendue 200 OK avec un corps vide, quel peut être le problème ?

A La méthode n’est pas annotée correctement

B La source de données renvoie une valeur nulle

C Le type de retour de la méthode est void

D Toutes les réponses ci-dessus

B
Si une méthode REST renvoie 200 OK avec un corps vide, cela peut être dû au fait que la source de données ou la logique métier renvoie des données nulles ou qu’il n’y a pas de données disponibles à renvoyer.

 

 

4. Comment tracer une requête à travers une application Spring Boot pour déboguer les problèmes liés aux appels API REST ?

A En utilisant Spring Boot Actuator

B En utilisant les fichiers logs de l’application

C Utilisation de @Trace

D Utilisation de Spring Boot Actuator et des fichiers logs de l’application

D
L’utilisation conjointe de Spring Boot Actuator et des fichiers logs de l’application permet de tracer les requêtes à travers l’application, ce qui permet de savoir où se situent les problèmes liés aux appels à l’API REST.

 

5. Quel starter Spring Boot est utilisé pour intégrer Spring Data JPA dans une application ?

A spring-boot-starter-jdbc

B spring-boot-starter-data-jpa

C spring-boot-starter-data-mongodb

D spring-boot-starter-data-rest

B
spring-boot-starter-data-jpa est utilisé pour intégrer facilement Spring Data JPA dans les applications, en simplifiant les interactions avec les bases de données par le biais de repositories JPA.

 

6. Que fait l’annotation @Transactional dans une application Spring Boot ?

A Gérer la portée d’une seule transaction de base de données

B Applique un filtre à une requête

C Optimise les performances de la requête

D Assure la sécurité des opérations de la base de données

A
L’annotation @Transactional est utilisée pour marquer une méthode ou une classe comme transactionnelle, ce qui signifie que toutes les opérations de base de données effectuées dans la méthode ou la classe marquée seront exécutées dans une transaction. Si la transaction est réussie, les modifications sont enregistrées dans la base de données. Si une erreur survient et que la transaction est annulée, les modifications ne seront pas enregistrées dans la base de données.

Voici un exemple d’utilisation de l’annotation @Transactional sur une méthode :

@Transactional
public void updateUser(User user) {
  // requête de mise à jour de base de données ici
}

Voici un exemple d’utilisation de l’annotation @Transactional sur une classe :

@Transactional
public class UserService {
  public void updateUser(User user) {
    // requête de mise à jour de base de données ici
  }
}

 

7. Comment activer le lazy loading des associations dans Spring Data JPA ?

A En utilisant l’annotation @Lazy

B En définissant fetch = FetchType.LAZY sur les associations

C En utilisant l’annotation @Basic(fetch = FetchType.LAZY)

D En la configurant dans le fichier application.properties

B
Le Lazy loading dans Spring Data JPA peut être activé en définissant le type de récupération des associations sur FetchType.LAZY, ce qui charge les associations à la demande plutôt qu’immédiatement.

 

 

8. Quel rôle joue le JdbcTemplate dans Spring Boot ?

A Il permet d’accéder aux bases de données NoSQL.

B Il simplifie les opérations JDBC en gérant le code boilerplate

C Il gère les entités JPA

D Il sert de template pour les services RESTful

B
JdbcTemplate simplifie les opérations JDBC en gérant le code de base tel que la création de connexions, les déclarations et la gestion des ensembles de résultats, facilitant ainsi les interactions avec les bases de données.

 

9. Comment Spring Boot supporte-t-il les migrations de bases de données ?

A Par le biais d’un template JDBC

B Par Spring Data REST

C Par l’utilisation d’entités JPA

D Par l’intégration avec des outils comme Flyway ou Liquibase

D
Spring Boot prend en charge les migrations de bases de données grâce à des intégrations avec des outils tels que Flyway ou Liquibase, qui gèrent les modifications de bases de données contrôlées par version.

 

10. Quelle annotation devez-vous utiliser pour exécuter une requête personnalisée avec le repository Spring Data JPA ?

A @Query

B @Select

C @SQL

D @DatabaseQuery

A
L’annotation @Query est utilisée dans les repositories JPA de Spring Data pour définir des requêtes SQL ou JPQL personnalisées, en remplaçant le comportement par défaut de la méthode.

 

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *