[Spring User Group FR] Les styles d’injection de dépendances avec Spring 3.0

Le 10 juin 2010, Spring User Group FR (SUGF) a organisé une conférence sur les styles d'injection de dépendances via Spring. La session a été animée par Chris Beams.
L'objectif de ce post est d'exposer les parties essentielles de la conférence:

  • Choisir un style de DI (Dependency Injection)
  • Exemples de styles de DI.

Speaker: Chris Beams

Chris Beams est ingénieur sénior chez SpringSource depuis 2007. Il fait partie des développeurs de Spring Core et de quelques autres modules de Spring. Il anime des conférences et des formations sur les différents produits de Spring.

Comment choisir une méthode?

Le choix d'une méthode de DI repose sur différentes caractéristiques:

  • Interne /Externe au code,
  • Implicite ou explicite
  • Type-safe
  • Portabilité etc.

Le choix d'un style dépend des propriétés validées. Si nous souhaitons, par exemple, que notre code soit portable, que la configuration soit externe, nous utiliserons le fichier XML et non pas les annotations.

Les styles de DI

Dans une seconde partie Chris nous explique les différents styles de DI via des exemples pratiques.
Nous pouvons retrouver les exemples de styles suivants:

  • Le fichier de configuration XML:

L'injection par XML reste la méthode de configuration la plus utilisée. Ce style est externe, explicite et portable.

  • Injection par annotation:

Ce style est facile à développer et maintenable. Comme annotations intéressantes, nous retrouvons, @Component, @Autowired etc. Mais, le code n'est pas portable.

En outre, Spring offre un ensemble de méthodes de DI. Chaque méthode a des avantages et des inconvénients. Dans un premier temps, nous devons cibler les caractéristiques importantes comme la portabilité et les performances. Ensuite nous choisissons le style de DI qui répond le plus à notre demande.

Un commentaire

  1. Il me semble que les annotations peuvent être portables si on utilise que celles standards de la jsr250-api.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.