Maison  >  Article  >  Java  >  Voici quelques options de titre qui correspondent à la demande : Direct et clair : * Comment injecter des dépendances dans des objets auto-instanciés au printemps ? * Injection de dépendance Spring : objets de câblage automatique en dehors du

Voici quelques options de titre qui correspondent à la demande : Direct et clair : * Comment injecter des dépendances dans des objets auto-instanciés au printemps ? * Injection de dépendance Spring : objets de câblage automatique en dehors du

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 20:51:02523parcourir

Here are a few title options that fit the ask:

Direct and Clear:

* How to Inject Dependencies into Self-Instantiated Objects in Spring?
* Spring Dependency Injection: Autowiring Objects Outside the Context
* Manually Injecting Dependencies in Spring: A

Injecter des dépendances dans des objets auto-instanciés avec Spring

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 :

  1. Câblez automatiquement l'AutowireCapableBeanFactory dans votre bean.
  2. Instancier l'objet cible en dehors du contexte Spring.
  3. Appelez beanFactory.autowireBean(obj) pour injecter des dépendances .

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn