Pourquoi ApplicationContext.getBean de Spring est-il considéré comme mauvais ?
La méthode ApplicationContext.getBean() de Spring peut sembler un moyen pratique d'accéder aux beans, mais cette pratique est généralement considérée comme une mauvaise pratique. Au lieu de cela, l'approche préférée consiste à adopter le concept d'inversion de contrôle (IoC) en utilisant l'injection de dépendances.
Déléguer l'injection de dépendances
L'appel d'ApplicationContext.getBean() viole le principe IoC en introduisant une dépendance à Spring au sein de la classe consommatrice. Cela rend la classe moins flexible et plus difficile à tester. Cela entrave également la possibilité de modifier facilement l'implémentation des dépendances.
Avantages de l'injection de dépendances
L'injection de dépendances offre de nombreux avantages :
Mise en œuvre de l'injection de dépendances dans Spring
Au lieu d'invoquer ApplicationContext.getBean(), vous devez déclarer une méthode dans la classe consommatrice pour recevoir la dépendance en argument. Spring injectera automatiquement la dépendance appropriée en fonction de la configuration du bean.
Exemple de configuration
<bean>
Amorçage
Dans la méthode principale, récupérez le bean racine "myApplication" à l'aide de ApplicationContext.getBean("myApplication"). Ce bean racine devrait avoir des dépendances sur tous les autres services, éliminant ainsi le besoin d'appels getBean() ailleurs.
Conclusion
Éviter ApplicationContext.getBean() favorise un véritable IoC dans Spring, ce qui donne un code flexible, testable et maintenable. L'adoption de l'injection de dépendances via des arguments de méthode permet à Spring de remplir son rôle désigné de gestion des dépendances.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!