Maison >Java >javaDidacticiel >Quelles sont les méthodes d'injection de Java Spring ?
ou utilisez des valeurs d'énumération pour définir
scénarios d'utilisation à cas unique et multi-instances
une interface Comment many L'implémentation est-elle gérée par Spring ?Dans l'injection de dépendances, Spring lancera NoUniqueBeanDefinitionException sans savoir quelle classe d'implémentation injecter. Utilisez @Primary pour indiquer à Spring quelle classe d'implémentation injecter
@ComponentScan L'impact des différentes configurations sur les performances
L'impact. d'optimiser la configuration du bean sur les performances des applications Spring
Chargement paresseux : ne créez pas de beans au démarrage du projet Spring, créez-les lors de l'utilisation de
Trois méthodes d'injection
Injection sur le terrain (IDEA vous indiquera que ce n'est pas recommandé)
Problème de dépendance circulaire
Problème de dépendance circulaire
Comme indiqué ci-dessous, A et B ont des dépendances cycliques, mais. leur compilation est légale au Spring. Aucune exception ne sera levée lors du démarrage de la classe String. Une erreur ne sera signalée que lorsque A ou B est utilisé. L'objet injecté par le champ est instancié avant l'instanciation des autres classes qui doivent l'être. injecté.
L'injection de constructeur peut résoudre :
Invisible en dehors de la classe
Impossible de définir l'objet qui doit être injecté comme final , également Impossible d'injecter ces objets immuables
Le code n'est pas très lisible
Des dépendances circulaires se sont-elles produites à l'aide de l'injection de constructeur ? Une exception de dépendance circulaire sera levée au démarrage du projet Spring
set injection peut résoudre :
La classe n'est pas visible en dehors du
Problème de dépendance circulaire
Les objets qui doivent être injectés ne peuvent pas être définis comme finaux, et ces objets immuables ne peuvent pas être injectés
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!