Junior — Middle
¿Se garantiza la creación de la misma instancia del componente al usar la anotación @Autowired en diferentes partes de una clase marcada con @Component?
sobes.tech AI
Respuesta de la IA
Sí, al usar la anotación @Autowired en Spring Framework para la inyección de dependencias en una clase marcada como @Component, por defecto se crea una única instancia del componente (ámbito Singleton). Esto significa que en diferentes lugares de la clase, donde se inyecta el mismo componente mediante @Autowired, se utilizará la misma instancia.
Por ejemplo:
@Component
public class MyService {
@Autowired
private MyRepository repo1;
@Autowired
private MyRepository repo2;
public void doSomething() {
// repo1 y repo2 hacen referencia a la misma instancia de MyRepository
}
}
De esta manera, Spring gestiona el ciclo de vida de los componentes y asegura la reutilización de una misma instancia, a menos que se indique lo contrario (por ejemplo, mediante la anotación @Scope).