Spring Core - IoC & DI
Inversion of Control, Dependency Injection, annotations (@Component, @Autowired, @Bean), scopes, cycle de vie des beans
1Qu'est-ce que l'Inversion of Control (IoC) dans Spring ?
Qu'est-ce que l'Inversion of Control (IoC) dans Spring ?
Réponse
L'IoC est un principe où le framework Spring gère la création et le cycle de vie des objets, plutôt que le développeur. Cela inverse le flux de contrôle traditionnel où le code applicatif instancie directement ses dépendances. Spring utilise un conteneur IoC pour gérer les beans et leurs dépendances de manière déclarative.
2Qu'est-ce qu'un bean dans Spring ?
Qu'est-ce qu'un bean dans Spring ?
Réponse
Un bean est un objet géré par le conteneur Spring IoC. Il est instancié, configuré et assemblé par Spring selon les métadonnées de configuration (annotations, XML ou Java config). Les beans sont le cœur de l'application Spring et bénéficient de l'injection de dépendances.
3À quoi sert l'annotation @Component ?
À quoi sert l'annotation @Component ?
Réponse
L'annotation @Component marque une classe comme bean Spring à détecter automatiquement lors du component scanning activé par @ComponentScan. Spring crée une instance de cette classe et la place dans le conteneur IoC avec un nom par défaut (classe en camelCase). C'est l'annotation stéréotype générique dont dérivent @Service, @Repository et @Controller pour apporter une sémantique métier spécifique.
Quels sont les trois types d'injection de dépendances dans Spring ?
Comment fonctionne l'annotation @Autowired ?
+19 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestion des exceptions
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Data Repositories
Spring Security - Les bases
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Tests Spring Boot
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Caching avec Spring
Spring WebFlux (Reactive)
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
OAuth2 et Authorization Server
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement