Mejor respuesta
Spring es un marco que te ayuda a organizar tu aplicación y te permite concentrarte más en la lógica. Si está utilizando una base de datos en su aplicación para conservar los datos, Hibernate, que también es un marco, puede ayudarlo a usar los datos de su base de datos como objetos java sin hacer mucho trabajo. Supongamos que tiene una clase de cliente y una clase de producto en su aplicación. Desarrollará una API Rest que responda a las solicitudes de terceros que preguntan sobre los datos de los clientes, como los productos que compraron o cosas así. Puede concentrarse en definir la lógica de sus clientes y productos y, con poca configuración, Spring se encargará de conectar sus dos clases. Spring también le permitirá crear una clase en la que defina métodos para responder al tipo de solicitudes de descanso que recibirá excepto su aplicación (lo que la convierte en una API de descanso). Solo es necesario realizar una pequeña configuración. Cuando recibe una solicitud que le pregunta sobre algunos datos de clientes que tiene en su base de datos, es más fácil tratar con los objetos de Java en lugar de conectarse a la base de datos y buscar los registros. Entonces puede usar Hibernate para mapear sus clases de clientes y productos con las tablas correspondientes en la base de datos.
Respuesta
Spring e hibernate son dos marcos diferentes. Spring se ocupa del desarrollo del flujo de la aplicación. Hibernate trata sobre la comunicación entre la aplicación y la base de datos. Características de primavera. http://amzn.to/2dIoqKg
Inyección de dependencia: solo el objeto directo, su objeto dependiente y el contenedor los vinculará en tiempo de ejecución.
Acoplamiento suelto: los objetos dependientes son escrito fuera de su código java, por lo que si necesita cambiar el objeto dependiente, solo necesita cambiarlo en una ubicación (archivo de configuración xml).
Spring MVC-Spring le brinda el poder de desarrollar la aplicación web MVC con menos cantidad de tiempo. en un par de minutos puede desarrollar su servicio web tranquilo.
Programación orientada a aspectos: no es necesario escribir declaraciones de registro en cada función. Pocas configuraciones en la aplicación y el registro de las funciones serán responsabilidad de Spring Aop.
Características de Hibernate Mapeo relacional de objetos: no es necesario escribir consultas complejas para unir varias tablas. Simplemente pregunte a hibernate los resultados requeridos, creará la consulta en su nombre y le dará el resultado en términos de objeto java. Así que diga adiós a «ResultSet».
Lenguaje de consulta Hql independiente de la base de datos subyacente.
Mecanismo de caché en un par de líneas de código que puede implementar el mecanismo de almacenamiento en caché en hibernación Para obtener más detalles, puede consultar http://amzn.to/2e0RfH8