@Inject y @Autowired en Spring: ¿cuál es la diferencia y qué elegir?
¡Hola! Empecé a estudiar Spring Framework y estoy escribiendo mi primera aplicación. Me confundí con las anotaciones para inyección de dependencias. Veo que en algunos ejemplos usan @Autowired, y en otros, @Inject. Ambas anotaciones parecen hacer lo mismo: inyectar beans en campos, constructores o setters.
Aquí hay un ejemplo de mi código donde uso @Autowired:
```java
@Component
public class UserService {
@Autowired
private UserRepository userRepository;
public User findUser(Long id) {
return userRepository.findById(id);
}
}
```
Pero mi colega dijo que es mejor usar @Inject del paquete javax.inject. Él afirma que es un enfoque más "limpio", pero no pudo explicar claramente por qué. Busqué en Google y encontré mucha información contradictoria. Algunos escriben que no hay diferencia en absoluto, otros dicen que @Inject es el estándar de Java, mientras que @Autowired es específico de Spring.
Me interesan los siguientes puntos:
1. ¿Cuál es la diferencia fundamental entre estas anotaciones?
No answers yet.
Inicia sesión para dejar una respuesta