Sobes.tech
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).