Spring framework es "una plataforma que nos proporciona una infraestructura que actúa de soporte para desarrollar aplicaciones Java". Que se utiliza principalmente para el desarrollo de aplicaciones Java y para contenedor de inversión de control e inyección de dependencias. Spring rivaliza directamente con la especificación de JavaEE "EJB".
Inversión de control e inyección de dependencias
Inversión de control o "IoC" abreviado en ingles, se puede explicar que mientras desarrollamos una aplicación, disponemos de varios objetos que se relacionan uno a otro "entre sí" y para poder trabajar con estos primero tendrás que instanciarlos. Esto lo puede realizar Spring, inyectando la instancia de un objeto en otro que la requiera (Inyección de dependencias), por esto se llama inversión de control, ya que Spring se encarga de instanciar los objetos e inyectarlos por medio de reflexión.