Si un entrevistador te preguntara qué es el resorte y para qué se utiliza, ¿cuál sería la mejor respuesta?
◆Propósito: Resolver la complejidad del desarrollo de aplicaciones empresariales.
◆Función: utilice JavaBean básico en lugar de EJB para proporcionar más funciones de aplicaciones empresariales.
◆Alcance: cualquier aplicación Java
En pocas palabras, Spring es un marco de contenedor liviano con inversión de control (IoC) y orientación de aspecto (AOP).
◆Ligero: Spring es liviano en tamaño y costo. El marco Spring completo se puede publicar en un archivo JAR con un tamaño de solo 1 MB. La sobrecarga de procesamiento requerida por Spring es insignificante. Además, Spring no es intrusivo: normalmente, los objetos en una aplicación Spring no dependen de las clases específicas de Spring.
◆Inversión de control: Spring promueve un acoplamiento flojo a través de una tecnología llamada inversión de control (IoC). Al aplicar IoC, otros objetos de los que depende un objeto se pasarán pasivamente, en lugar de ser creados por el objeto mismo o buscar objetos dependientes. Puede pensar en IoC como el antónimo de JNDI: en lugar de que el objeto busque dependencias del contenedor, el contenedor pasa activamente dependencias al objeto durante la inicialización sin esperar la solicitud del objeto.
◆Orientado a aspectos: Spring proporciona un amplio soporte para la programación orientada a aspectos, lo que permite un desarrollo coherente al separar la lógica empresarial de la aplicación de los servicios a nivel del sistema, como la auditoría y la gestión de transacciones. Los objetos de aplicación hacen lo que se supone que deben hacer (lógica empresarial completa) y nada más. No son responsables (ni siquiera conocen) otros problemas a nivel del sistema, como el registro o el soporte de transacciones.
◆ Container-Spring contiene y gestiona la configuración y el ciclo de vida de los objetos de la aplicación. Es un contenedor en el sentido de que puede configurar cómo se crea cada uno de sus beans (basándose en prototipos configurables, sus beans pueden crear una única instancia o generar una nueva instancia cada vez que sean necesarios) y cómo se relacionan entre sí. . Sin embargo, Spring no debe confundirse con los tradicionales contenedores EJB pesados, que suelen ser grandes, difíciles de manejar y difíciles de usar.
◆Framework-Spring puede combinar configuraciones de componentes simples en aplicaciones complejas. En Spring, los objetos de la aplicación se agrupan de forma declarativa, generalmente en un archivo XML. Spring también proporciona muchas funciones básicas (gestión de transacciones, integración de marcos de persistencia, etc.), y el desarrollo de la lógica de la aplicación queda en sus manos.
Todas estas características de Spring le permiten escribir código más claro, más fácil de administrar y de probar. También brindan soporte básico para varios módulos en Spring.
Se basan principalmente en inyecciones.