Dans le développement Spring, il peut arriver que des dépendances doivent être injectées dans un objet qui a été instancié en dehors de Spring contexte applicatif. Contrairement à Google Guice, qui propose une méthode injectMembers, Spring nécessite une approche plus nuancée.
Autowiring Dependencies
Pour injecter manuellement des dépendances dans un objet auto-instancié dans Spring, vous pouvez utiliser la méthode autowireBean fournie par AutowireCapableBeanFactory. Cette méthode vous permet de transmettre un objet arbitraire à Spring, qui appliquera ensuite la fonctionnalité de câblage automatique et injectera toutes les dépendances configurées.
Implémentation
Pour utiliser cette méthode, suivez ces étapes :
Exemple
Considérez le code suivant :
<code class="java">@Autowired private AutowireCapableBeanFactory beanFactory; public void doStuff() { MyBean obj = new MyBean(); beanFactory.autowireBean(obj); // obj now has its dependencies autowired. }</code>
Dans cet exemple, MyBean est instancié manuellement mais recevra toujours des injections dépendances via la méthode autowireBean.
Remarque : Il est important de s'assurer que l'objet cible adhère aux conventions du bean Spring, y compris la dénomination de classe appropriée et la présence d'annotations appropriées (par exemple, @Component ou @Autowired) pour que l'injection de dépendances fonctionne correctement.
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!