AOWS

Just another adrian’s weblog

Inyección de dependencias con @Autowired, @Qualifier y @Resource

with 7 comments

Spring proporciona dos anotaciones para la inyección de dependencias: @Autowired y @Qualifier.

@Autowired funciona por tipo, y es que ella sola se encarga de buscar un bean de la clase correspondiente:

@Autowired
private ExampleService exampleService;

La gran limitación de esta anotación es que no es posible hacer inyección por nombre (¿qué pasa si tenemos varios beans del mismo tipo?), por lo que la solución pasa por complementarla con @Qualifier:

@Autowired
@Qualifier("exampleService")
private ExampleService exampleService;

Mientras no llega la versión 3.0 de Spring, una alternativa menos verbosa sería usar la anotación @Resource (perteneciente al JSR-250):

@Resource(name="exampleService")
private ExampleService exampleService;

Written by adrian

3 noviembre, 2009 a 10:25

Publicado en Uncategorized

Tagged with ,

7 comentarios

Subscribe to comments with RSS.

  1. Feliz Año Adrian.

    Jorge

    2 enero, 2010 at 19:20

  2. Hola, Buenas.

    Estoy intentando hacer mi proyecto fin de carrera con spring + hibernate, y me ha surgido un problema, el cual es que necesito usar dos sessionFactory beans (para dos conexiones a bases de datos distintas). Utilizo como base de mi proyecto el framework Appfuse (no sé si lo conoces) y en su última versión utiliza anotaciones (al menos que yo sepa, no he probado anteriores versiones). Mi duda consiste en saber si la combinación @Autowired + @Qualifier(“nombreDeLaSessionFactory”) (una vez que se han definido cada una de estas sessionFactory en el xml) sería suficiente para este fin.

    Muchas gracias por su atención.

    Saludos.

    Quiteman

    28 febrero, 2010 at 21:58

  3. Hola @Quiteman. Efectivamente, la solución que planteas debería funcionar🙂

    adrian

    2 marzo, 2010 at 09:43

  4. Muchas gracias.

    Bonito blog, por cierto.

    Quiteman

    5 marzo, 2010 at 01:46

  5. @Quiteman gracias a ti😉

    adrian

    5 marzo, 2010 at 09:08

  6. jajaja que manga de balas!

    Influenza

    19 enero, 2011 at 02:14

  7. jajajjajaja como se tiran flores falta q se hagan el 69

    el potro

    10 mayo, 2013 at 17:09


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: