NEW
Font size
WorksheetsQuiz sur Spring Core
Total questions: 47
Worksheet time: 24mins
Quel est le rôle principal de Spring Core ?
Créer des fichiers XML
Gérer la logique métier
Gérer la création et l'injection des dépendances (IoC/DI)
Fournir un serveur web
Que signifie IoC (Inversion of Control) ?
Le code contrôle le conteneur
Le conteneur contrôle la création et la gestion des objets
Les objets contrôlent le conteneur
C'est un design pattern Singleton
Quelle différence entre IoC et DI ?
Aucune
IoC est une classe, DI une méthode
IoC est un principe, DI en est la mise en œuvre
DI crée les beans, IoC les détruit
Qu’est-ce qu’un bean dans Spring ?
Une annotation
Un service REST
Un objet géré par le conteneur Spring
Un fichier XML
Quel conteneur Spring gère les beans ?
BeanFactory
ServletContext
ApplicationContext
EntityManager
Quelle annotation définit une classe de configuration Spring ?
@Controller
@Component
@Configuration
@Entity
@ComponentScan permet de :
Compiler le projet
Scanner les packages pour détecter les composants Spring
Démarrer le serveur
Nettoyer les dépendances
Quelle annotation crée un bean à partir d'une méthode Java ?
@Service
@Bean
@Import
@Autowired
@Autowired permet de :
Lancer une requête HTTP
Injecter automatiquement une dépendance
Supprimer un bean
Créer une base de données
À quoi sert Qualifier ?
Configurer
Spécifier
Lancer
Qualifier
Le cycle de vie d'un bean commence par :
Initialisation
Instantiation
Destruction
Injection
Scope par défaut d’un bean Spring ?
Prototype
Request
Session
Singleton
Pourquoi comprendre la configuration manuelle (sans Boot) est utile ?
Pour désactiver le XML
Pour utiliser Maven
Pour comprendre le fonctionnement interne de Spring
Pour éviter les annotations
Quelle est la différence entre @Component et @Service ?
Aucune
@Service est utilisé pour la couche métier
@Component est pour les entités
@Service spécialise @Repository
Quel est l'objectif principal de Spring Data JPA ?
Gérer les services REST
Simplifier la gestion de la persistance et des transactions
Compiler les requêtes SQL
Créer des pages HTML
Différence entre JPA et Hibernate ?
Identiques
Hibernate est une spécification
JPA est une spécification, Hibernate est une implémentation
Hibernate est plus ancien
Qu’est-ce qu’une entité JPA ?
Une table SQL
Une classe Java mappée à une table de base de données
Une requête SQL
Un contrôleur
Quel est le rôle du DataSource ?
Fournir un schéma de base
Gérer la connexion à la base de données
Créer les entités
Configurer les transactions
EntityManager est responsable de :
L’injection des dépendances
La gestion du cycle de vie des entités
Le mapping des contrôleurs
La configuration XML
TransactionManager gère :
Le cache des requêtes
Les transactions et leur propagation (commit/rollback)
Les erreurs réseau
Les beans Singleton
@EnableJpaRepositories active :
Les tests unitaires
La détection automatique des interfaces Repository
Le mapping JSON
Les API REST
JpaRepository hérite de :
EntityManager
CrudRepository
ServiceRepository
JDBCTemplate
Quelles méthodes génériques JpaRepository fournit-il ?
getByIdOnly()
findAll(), save(), deleteById(), findById()
insertSQL()
searchEntity()
Pour gérer une transaction, on utilise :
@Service
@Transactional
@Autowired
@EnableJpa
Suppression logique (soft delete) signifie :
Suppression de la table
Marquage de l'enregistrement comme supprimé sans le retirer de la base
Nettoyage automatique
Compression du fichier
Pourquoi définir manuellement la config JPA avant Boot ?
Pour mieux comprendre le DataSource
Pour apprendre la configuration complète (DataSource, EntityManagerFactory, etc.)
Pour éviter XML
Pour activer Swagger
@Repository permet :
De gérer les transactions
De marquer une classe d'accès aux données
De créer un service REST
De gérer la sécurité
Que signifie MVC ?
Model–Variable–Config
Model–View–Controller
Module–View–Component
Master–View–Command
Quel est le rôle du DispatcherServlet ?
Cœur du framework qui intercepte et distribue les requêtes HTTP
Gère la base de données
Compile les JSP
Sérialise les entités
Quelle est la différence entre @Controller et @RestController ?
@RestController nécessite Boot
@RestController = @Controller + @ResponseBody
@Controller gère JSON
@RestController gère JSP
À quoi sert @RequestMapping ?
Mapper les entités JPA
Définir les routes HTTP d'un contrôleur
Configurer la base
Créer des beans
@GetMapping et @PostMapping sont :
Des annotations de validation
Des annotations de sécurité
Des raccourcis de @RequestMapping pour GET et POST
Des filtres
@Valid permet de :
Charger des entités
Valider les données
Lancer les transactions
Nettoyer les beans
Que fait l’annotation @RequestBody dans une application Java ?
Elle convertit les logs
Elle convertit les entités JPA
Elle convertit le corps JSON de la requête en objet Java
Elle convertit le code en XML
À quoi sert l’annotation @PathVariable ?
À injecter un service
À récupérer une variable d’URL dans une méthode de contrôleur
À valider une requête
À configurer un bean
À quoi sert la classe WebConfig dans une application Spring ?
À configurer les beans MVC (ViewResolver, mappings, etc.)
À gérer la base de données
À créer des transactions
À lancer Spring Boot
Que remplace le WebAppInitializer ?
@Controller
@Bean
Le fichier web.xml
@Service
Comment le DispatcherServlet traite-t-il une requête ?
Par les entités
En la passant du Handler au ViewResolver
En lançant le Service
En l’exécutant dans JPA
Qu’est-ce qu’un @RestControllerAdvice ?
Un filtre de sécurité
Une gestion centralisée des exceptions pour les contrôleurs REST
Une annotation pour EntityManager
Une classe DAO
À quoi sert la sérialisation JSON ?
Transformer un bean en image
Convertir les objets Java en JSON pour la réponse HTTP
Compiler le code
Valider les entités
Comment désérialiser un JSON reçu ?
@Autowired
@PathVariable
@RequestBody
@JsonIgnore
Pourquoi Spring MVC précède Spring Boot ?
Parce qu’il est plus lent
Car il permet de comprendre la configuration manuelle avant l’autoconfiguration
Parce qu’il ne supporte pas JPA
Pour créer du XML
Bonne pratique d’architecture
Tout mettre dans un package
Séparer Controller, Service, Repository
Tout coder dans le main()
Supprimer les DTO
Quelle bibliothèque gère la sérialisation JSON ?
GSON
Jackson
JSON-P
XMLParser
@ResponseBody signifie :
Rediriger la vue
Retourner la réponse directement dans le corps HTTP
Exécuter une méthode statique
Gérer les cookies
Quel élément reçoit la première requête HTTP ?
Controller
DispatcherServlet
ViewResolver
HandlerAdapter
Pourquoi séparer Spring Core, Data et MVC ?
Pour rendre le projet plus lent
Pour assurer la modularité et la testabilité du projet
Pour simplifier Maven
Pour éviter les annotations
