JavaRush /Blog Java /Random-ES /Beneficios de usar Spring
Alex
Nivel 37

Beneficios de usar Spring

Publicado en el grupo Random-ES
Muchos desarrolladores novatos, tarde o temprano, se encuentran con Spring , un marco popular para desarrollar aplicaciones en Java. Lo principal que Spring le permite hacer es simplificar el desarrollo de aplicaciones J2EE para el desarrollador. Estos son los principales beneficios que obtiene un desarrollador al usar Spring:
Beneficios de usar Spring - 1
  • Spring proporciona un marco para su futura aplicación, si desea un "espacio en blanco" para su futura aplicación. Al mismo tiempo, el marco dicta las reglas para crear la aplicación: existe una determinada arquitectura de aplicación en la que debe crear su funcionalidad. Esta funcionalidad será en realidad la lógica empresarial de su aplicación. Spring incluye muchos subproyectos adaptados a una funcionalidad específica (SpringMVC, Spring Security, SpringData, etc. la lista completa se puede ver en https://spring.io/projects ), entre los cuales el desarrollador puede elegir el que más le convenga, y no utilice el resto: este es un principio modular de creación de una aplicación;

  • En una aplicación basada en Spring, los objetos están débilmente acoplados mediante el uso de inyección de dependencia. Uno de los objetivos de Spring era romper la dependencia de unos objetos de otros. ¿Qué es la adicción? Esto es cuando el Objeto1 usa los métodos de otro Objeto2, es decir, el Objeto1 depende del Objeto2, cuyos métodos utiliza. ¿Por qué depende? Pero porque hasta que se cree el objeto Objeto2, Objeto1 no podrá implementar su funcionalidad. ¿Cómo romper la adicción? "Inyectar" una referencia al objeto Object2 en el objeto Object1 mediante un constructor o definidor. Este proceso es en realidad una inyección de dependencia. Es importante recordar que en Spring los objetos deben construirse en base a interfaces, de modo que las dependencias se inyectan en forma de interfaz para una posible sustitución posterior de la implementación.

  • no es necesario crear objetos manualmente utilizando el nuevo operador. Esta función ha sido delegada al contenedor Spring. Esto es inversión de control (IoC): transferir la función de crear instancias de las dependencias (objetos) necesarias al contenedor. ¿Cuál es el papel del desarrollador en todo esto, preguntas? Declare el componente para que entre en el contexto de Spring. El contexto de Spring, en pocas palabras, es un mapa donde se encuentran todos los beans. Cuando dicen que un bean está en el contexto de Spring, considere que el bean está en el mapa y Spring conoce la clave para obtenerlo del mapa. Todo lo que está marcado como bean en la configuración xml o en clases con anotaciones @Component se crea una instancia y se coloca en un mapa de la forma Map<key,bean> map, es decir el contenedor tiene un mapa donde "almacena" todos los beans (el concepto clave en Spring es un bean, esta es una entidad administrada por el contenedor. Para que un bean (clase ordinaria) sea administrado, debe caer en el Contexto de primavera.) y, si es necesario, implementación, el contenedor hace algo como esto: map.get(clave), la clave es el tipo de campo;

  • Spring te libera no sólo de la necesidad de crear objetos, sino también de asociarlos. Por ejemplo, la anotación @Autowired le permite cablear componentes automáticamente. La anotación de resorte @Autowired podría describirse simplemente así: querido amigo, contenedor de resorte, mire en su mapa con beans para ver si tiene la clase instancia de o implementos de lo que estoy frente a mí. Si lo hay, dame un enlace en el campo ante el cual estoy declarado. La vinculación automática le permite reducir la cantidad de código al determinar las dependencias de los componentes;

  • En Spring, la configuración de los beans está separada del código del programa. Mover la configuración (gestión de dependencias) a un archivo separado facilita los cambios posteriores en el proyecto (reemplazar implementaciones):


    • capacidad de prueba mejorada. Cuando las clases se diseñan en función de DI e interfaces, es posible reemplazar fácilmente las dependencias (con implementaciones falsas) durante las pruebas;

    • la capacidad de programar en estilo declarativo utilizando anotaciones reduce la cantidad de código en la aplicación;

    • soporte y buena integración con tecnologías de acceso a datos, transacciones, AOP simplifica el desarrollo;

    • una buena documentación ayuda mucho a la hora de depurar una aplicación;
Para aquellos que quieran entender Spring, recomiendo leer a K. Walls. Spring in Action - 3.ª edición y, por supuesto, la documentación oficial.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION