@Component es el estereotipo principal, indica que la clase anotada es un component (o un Bean de Spring).
Se puede usar junto a @Scope:
@Repository, @Service y @Controller son especializaciones de @Component para casos concretos (persistencia, servicios y presentación). Esto significa que puede usarse siempre @Component pero lo adecuado es usar estos estereotipos ya que algunas herramientas o futuras versiones de Spring pueden añadir semántica adicional (por ejemplo Spring Roo usa estas anotaciones y genera aspectos).
@Autowired sirve para inyectar un Bean usando la autodetección de Spring:
Si tenemos varios Beans que puedan aplicar, como por ejemplo 2 DataSources usaré el @Qualifier:
O:




Replica a Gugui Cancelar la respuesta