¿Cuál es la tecnología central del lenguaje Java?
Cualquier aplicación Java puede beneficiarse de Spring desde la perspectiva de la simplicidad, la capacidad de prueba y el acoplamiento flexible.
En pocas palabras, Spring es un marco contenedor liviano con inversión de control (IoC) y orientación de aspecto (AOP).
Entendamos las características principales de Spring en su conjunto:
*Ligero: Spring es liviano en términos de tamaño y costo. Además, Spring no es intrusivo: con Spring, nuestras clases siguen siendo clases pojo y no hay necesidad de heredar e implementar clases e interfaces Spring en absoluto.
En otras palabras, los objetos en aplicaciones que usan Spring no dependen de las clases específicas de Spring.
*IoC: El resorte promueve un acoplamiento flojo a través de la tecnología de inversión de control. 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. Se puede considerar que IoC es lo opuesto a JNDI: no controlamos el objeto para encontrar dependencias del contenedor en sí, pero el contenedor pasa activamente las dependencias al objeto durante la inicialización. Esto es inyección de dependencia DI.
Básicamente, los objetos no tienen por qué ser gestionados y creados por sí mismos. Completamente gestionado por el contenedor, simplemente lo usamos.
*AOP: Spring proporciona soporte de programación orientada a aspectos. AOP separa y extrae contenido que no tiene nada que ver con el negocio del programa. El objeto de la aplicación solo realiza lo que debe hacer: completar la lógica empresarial, y eso es todo. No son responsables de otros problemas a nivel del sistema, como el registro o el soporte de transacciones.
AOP cruza la lógica independiente del negocio en lógica real.
*Marco: 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 los usuarios tienen más tiempo y energía para desarrollar la lógica de la aplicación.
Todas estas características de Spring pueden ayudarnos a escribir código más limpio, más fácil de administrar y más fácil de probar. También brindan soporte básico para varios módulos en Spring.
*Con la ayuda de Spring, la inyección de dependencia de Guo Rong, la aplicación AOP y la programación orientada a interfaz, se reduce el acoplamiento entre los componentes empresariales y se mejora la escalabilidad del sistema.
* Facilite el uso de las tecnologías y marcos existentes.
*Utilice su encapsulación de SessionFactory y la gestión de transacciones de hibernación para aplicar la hibernación de forma más concisa.
*Spring no depende completamente de Spring. Los desarrolladores son libres de elegir parte o la totalidad del marco Spring.
*Utilice AOP para centrarse en la lógica empresarial, reducir el código duplicado y crear soluciones elegantes.
*Diseño de baja intrusión, contaminación de código extremadamente baja.
Spring está comprometido con soluciones en todas las capas de aplicaciones J2EE, no solo soluciones centradas en una determinada capa. Se puede decir que Spring es la opción "integrada" para el desarrollo de aplicaciones empresariales, que se ejecuta a través de la capa de presentación, la capa empresarial y la capa de persistencia.
Aunque Spring puede resolver todo el problema del proyecto de una sola vez, Spring no quiere reemplazar esos marcos existentes, sino que los integra a la perfección. Spring puede reducir la dificultad de usar varios marcos. Admite directamente varios marcos excelentes (como Struts, Hibernate, Hessian, Quartz, etc.).
El objetivo principal de usar Spring es hacer que J2EE sea fácil de usar. utilizar y promover buenas prácticas de programación, el objetivo de Spring es hacer que las tecnologías existentes sean más fáciles de usar.
Así que una idea importante de Spring es la integración y la compatibilidad.