wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Quiz sur Spring Core

Total questions: 47

Worksheet time: 24mins

Name
Class
Date
1.

Quel est le rôle principal de Spring Core ?

a)

Créer des fichiers XML

b)

Gérer la logique métier

c)

Gérer la création et l'injection des dépendances (IoC/DI)

d)

Fournir un serveur web

2.

Que signifie IoC (Inversion of Control) ?

a)

Le code contrôle le conteneur

b)

Le conteneur contrôle la création et la gestion des objets

c)

Les objets contrôlent le conteneur

d)

C'est un design pattern Singleton

3.

Quelle différence entre IoC et DI ?

a)

Aucune

b)

IoC est une classe, DI une méthode

c)

IoC est un principe, DI en est la mise en œuvre

d)

DI crée les beans, IoC les détruit

4.

Qu’est-ce qu’un bean dans Spring ?

a)

Une annotation

b)

Un service REST

c)

Un objet géré par le conteneur Spring

d)

Un fichier XML

5.

Quel conteneur Spring gère les beans ?

a)

BeanFactory

b)

ServletContext

c)

ApplicationContext

d)

EntityManager

6.

Quelle annotation définit une classe de configuration Spring ?

a)

@Controller

b)

@Component

c)

@Configuration

d)

@Entity

7.

@ComponentScan permet de :

a)

Compiler le projet

b)

Scanner les packages pour détecter les composants Spring

c)

Démarrer le serveur

d)

Nettoyer les dépendances

8.

Quelle annotation crée un bean à partir d'une méthode Java ?

a)

@Service

b)

@Bean

c)

@Import

d)

@Autowired

9.

@Autowired permet de :

a)

Lancer une requête HTTP

b)

Injecter automatiquement une dépendance

c)

Supprimer un bean

d)

Créer une base de données

10.

À quoi sert Qualifier ?

a)

Configurer

b)

Spécifier

c)

Lancer

d)

Qualifier

11.

Le cycle de vie d'un bean commence par :

a)

Initialisation

b)

Instantiation

c)

Destruction

d)

Injection

12.

Scope par défaut d’un bean Spring ?

a)

Prototype

b)

Request

c)

Session

d)

Singleton

13.

Pourquoi comprendre la configuration manuelle (sans Boot) est utile ?

a)

Pour désactiver le XML

b)

Pour utiliser Maven

c)

Pour comprendre le fonctionnement interne de Spring

d)

Pour éviter les annotations

14.

Quelle est la différence entre @Component et @Service ?

a)

Aucune

b)

@Service est utilisé pour la couche métier

c)

@Component est pour les entités

d)

@Service spécialise @Repository

15.

Quel est l'objectif principal de Spring Data JPA ?

a)

Gérer les services REST

b)

Simplifier la gestion de la persistance et des transactions

c)

Compiler les requêtes SQL

d)

Créer des pages HTML

16.

Différence entre JPA et Hibernate ?

a)

Identiques

b)

Hibernate est une spécification

c)

JPA est une spécification, Hibernate est une implémentation

d)

Hibernate est plus ancien

17.

Qu’est-ce qu’une entité JPA ?

a)

Une table SQL

b)

Une classe Java mappée à une table de base de données

c)

Une requête SQL

d)

Un contrôleur

18.

Quel est le rôle du DataSource ?

a)

Fournir un schéma de base

b)

Gérer la connexion à la base de données

c)

Créer les entités

d)

Configurer les transactions

19.

EntityManager est responsable de :

a)

L’injection des dépendances

b)

La gestion du cycle de vie des entités

c)

Le mapping des contrôleurs

d)

La configuration XML

20.

TransactionManager gère :

a)

Le cache des requêtes

b)

Les transactions et leur propagation (commit/rollback)

c)

Les erreurs réseau

d)

Les beans Singleton

21.

@EnableJpaRepositories active :

a)

Les tests unitaires

b)

La détection automatique des interfaces Repository

c)

Le mapping JSON

d)

Les API REST

22.

JpaRepository hérite de :

a)

EntityManager

b)

CrudRepository

c)

ServiceRepository

d)

JDBCTemplate

23.

Quelles méthodes génériques JpaRepository fournit-il ?

a)

getByIdOnly()

b)

findAll(), save(), deleteById(), findById()

c)

insertSQL()

d)

searchEntity()

24.

Pour gérer une transaction, on utilise :

a)

@Service

b)

@Transactional

c)

@Autowired

d)

@EnableJpa

25.

Suppression logique (soft delete) signifie :

a)

Suppression de la table

b)

Marquage de l'enregistrement comme supprimé sans le retirer de la base

c)

Nettoyage automatique

d)

Compression du fichier

26.

Pourquoi définir manuellement la config JPA avant Boot ?

a)

Pour mieux comprendre le DataSource

b)

Pour apprendre la configuration complète (DataSource, EntityManagerFactory, etc.)

c)

Pour éviter XML

d)

Pour activer Swagger

27.

@Repository permet :

a)

De gérer les transactions

b)

De marquer une classe d'accès aux données

c)

De créer un service REST

d)

De gérer la sécurité

28.

Que signifie MVC ?

a)

Model–Variable–Config

b)

Model–View–Controller

c)

Module–View–Component

d)

Master–View–Command

29.

Quel est le rôle du DispatcherServlet ?

a)

Cœur du framework qui intercepte et distribue les requêtes HTTP

b)

Gère la base de données

c)

Compile les JSP

d)

Sérialise les entités

30.

Quelle est la différence entre @Controller et @RestController ?

a)

@RestController nécessite Boot

b)

@RestController = @Controller + @ResponseBody

c)

@Controller gère JSON

d)

@RestController gère JSP

31.

À quoi sert @RequestMapping ?

a)

Mapper les entités JPA

b)

Définir les routes HTTP d'un contrôleur

c)

Configurer la base

d)

Créer des beans

32.

@GetMapping et @PostMapping sont :

a)

Des annotations de validation

b)

Des annotations de sécurité

c)

Des raccourcis de @RequestMapping pour GET et POST

d)

Des filtres

33.

@Valid permet de :

a)

Charger des entités

b)

Valider les données

c)

Lancer les transactions

d)

Nettoyer les beans

34.

Que fait l’annotation @RequestBody dans une application Java ?

a)

Elle convertit les logs

b)

Elle convertit les entités JPA

c)

Elle convertit le corps JSON de la requête en objet Java

d)

Elle convertit le code en XML

35.

À quoi sert l’annotation @PathVariable ?

a)

À injecter un service

b)

À récupérer une variable d’URL dans une méthode de contrôleur

c)

À valider une requête

d)

À configurer un bean

36.

À quoi sert la classe WebConfig dans une application Spring ?

a)

À configurer les beans MVC (ViewResolver, mappings, etc.)

b)

À gérer la base de données

c)

À créer des transactions

d)

À lancer Spring Boot

37.

Que remplace le WebAppInitializer ?

a)

@Controller

b)

@Bean

c)

Le fichier web.xml

d)

@Service

38.

Comment le DispatcherServlet traite-t-il une requête ?

a)

Par les entités

b)

En la passant du Handler au ViewResolver

c)

En lançant le Service

d)

En l’exécutant dans JPA

39.

Qu’est-ce qu’un @RestControllerAdvice ?

a)

Un filtre de sécurité

b)

Une gestion centralisée des exceptions pour les contrôleurs REST

c)

Une annotation pour EntityManager

d)

Une classe DAO

40.

À quoi sert la sérialisation JSON ?

a)

Transformer un bean en image

b)

Convertir les objets Java en JSON pour la réponse HTTP

c)

Compiler le code

d)

Valider les entités

41.

Comment désérialiser un JSON reçu ?

a)

@Autowired

b)

@PathVariable

c)

@RequestBody

d)

@JsonIgnore

42.

Pourquoi Spring MVC précède Spring Boot ?

a)

Parce qu’il est plus lent

b)

Car il permet de comprendre la configuration manuelle avant l’autoconfiguration

c)

Parce qu’il ne supporte pas JPA

d)

Pour créer du XML

43.

Bonne pratique d’architecture

a)

Tout mettre dans un package

b)

Séparer Controller, Service, Repository

c)

Tout coder dans le main()

d)

Supprimer les DTO

44.

Quelle bibliothèque gère la sérialisation JSON ?

a)

GSON

b)

Jackson

c)

JSON-P

d)

XMLParser

45.

@ResponseBody signifie :

a)

Rediriger la vue

b)

Retourner la réponse directement dans le corps HTTP

c)

Exécuter une méthode statique

d)

Gérer les cookies

46.

Quel élément reçoit la première requête HTTP ?

a)

Controller

b)

DispatcherServlet

c)

ViewResolver

d)

HandlerAdapter

47.

Pourquoi séparer Spring Core, Data et MVC ?

a)

Pour rendre le projet plus lent

b)

Pour assurer la modularité et la testabilité du projet

c)

Pour simplifier Maven

d)

Pour éviter les annotations