Tous les Projets
Backend

Injection de Dépendances & IoC — Quatre Techniques

Une étude pratique de l'inversion de contrôle en Java : le même découpage DAO/métier câblé de quatre façons — injection par setter manuelle, chargement dynamique par réflexion depuis un fichier de config, config conteneur Spring XML, et scan d'annotations Spring (@Component/@Autowired).

4
Injection techniques
Spring 6
Framework
IDao + IMetier
Contracts
XML + annotations
Wiring
Approche

Implémenter une app pilotée par interfaces de quatre façons : statique, réflexion dynamique, XML Spring, annotations Spring

Stack Technique
Java 17Spring 6.1MavenReflection API
Mots-clés
SpringIoCDependency InjectionReflectionXML ConfigAnnotationsJava
Analyse Approfondie

Un parcours fondamental de l'inversion de contrôle & injection de dépendances — « dépendre des interfaces, pas des implémentations » — en construisant la même app de quatre façons.

Structure

java-ioc-1/   (Maven + Spring 6)
  ├── dao/          IDao + implémentations
  ├── metier/       IMetier + implémentations
  └── presentation/ 4 démos d'injection
enset_ioc/    (point de départ Java pur)

Quatre techniques d'injection

DémoMéthodeComment
PresentationStatiquenew manuel + injection par setter
Presentation2Dynamiquechargement de classe par réflexion depuis config.txt
PresentationxmlSpring XMLcâblage conteneur via applicationContext.xml
PresentationAnnotationAnnotations Springscan @Component + @Autowired

Pourquoi c'est important IDao (contrat d'accès aux données) et IMetier (contrat métier) ne sont couplés que par interfaces, donc c'est le conteneur — pas le code — qui décide quelle implémentation injecter. C'est le principe sur lequel reposent tous les projets Spring suivants de cette collection.