Repaso
English

Explica Inversion of Control y Dependency Injection, y por qué Spring las usa.

Respuesta

  • Inversion of Control: tu código ya no controla la creación ni el ciclo de vida de sus colaboradores; lo hace un contenedor.
  • Dependency Injection es la forma de aplicar IoC: una clase declara sus dependencias (parámetros del constructor) y el contenedor se las da.
  • Spring busca beans (@Component, @Service...), construye el grafo de objetos al arrancar e inyecta las dependencias.
  • Ventajas: bajo acoplamiento (dependes de interfaces), tests fáciles con mocks, configuración central, gestión del ciclo de vida.
  • Ejemplo: OrderService(PaymentGateway g); en producción Spring da un gateway de Stripe, en los tests pasas un mock.

Términos clave

Practica esta pregunta en Repaso