Spring: diferencia entre inversión de control e inyección de dependencia

Spring es un marco ligero de código abierto que permite a los desarrolladores de Java EE 7 crear aplicaciones empresariales sencillas, fiables y escalables. Este marco se centra principalmente en proporcionar varias formas de ayudarlo a administrar sus objetos comerciales. Hizo que el desarrollo de aplicaciones web fuera mucho más fácil en comparación con los marcos Java clásicos y las interfaces de programación de aplicaciones (API), como la conectividad de base de datos Java (JDBC), JavaServer Pages (JSP) y Java Servlet. Este marco utiliza varias técnicas nuevas, como la programación orientada a aspectos (AOP), el objeto Java antiguo simple (POJO) y la inyección de dependencia (DI), para desarrollar aplicaciones empresariales.

Primavera IoC (Inversión de control)

Spring IoC (Inversion of Control) Container es el núcleo de Spring Framework. Crea los objetos, configura y ensambla sus dependencias, gestiona todo su ciclo de vida. El Contenedor utiliza Inyección de Dependencia (DI) para administrar los componentes que componen la aplicación. Obtiene la información sobre los objetos de un archivo de configuración (XML) o Java Code o Java Annotations y Java POJO class. Estos objetos se llaman Beans. Dado que los desarrolladores no controlan los objetos Java y su ciclo de vida, de ahí el nombre Inversion Of Control. Las siguientes son algunas de las características principales de Spring IoC,

  • Creando Objeto para nosotros,
  • Administrar nuestros objetos,
  • Ayudando a que nuestra aplicación sea configurable,
  • Administrar dependencias

Para leer más sobre Spring IoC (inversión de control), consulte este artículo: Spring IoC (inversión de control)

Inyección de dependencia de primavera

La inyección de dependencia es la funcionalidad principal proporcionada por Spring IOC (Inversion of Control). El módulo Spring-Core es responsable de inyectar dependencias a través de los métodos Constructor o Setter. El principio de diseño de Inversion of Control hace hincapié en mantener las clases de Java independientes entre sí y el contenedor las libera de la creación y el mantenimiento de objetos. Estas clases, administradas por Spring, deben cumplir con la definición estándar de Java-Bean. La Inyección de Dependencia en Spring también asegura un bajo acoplamiento entre las clases. Hay dos tipos de Spring Dependency Injection.

  1. Inyección de dependencia del setter (SDI)
  2. Inyección de dependencia del constructor (CDI)

A. Inyección de dependencia del setter (SDI)

Setter Injection es el más simple de los dos métodos de inyección de dependencia. En esto, la inyección de dependencia se inyectará con la ayuda de métodos setter y/o getter. Ahora, para establecer la Inyección de Dependencia como Inyección Setter en el bean, se hace a través del archivo bean-configuration. Para esto, la propiedad que se establecerá con la Inyección Setter se declara bajo la etiqueta <property> en el archivo bean-config.

B. Inyección de dependencia del constructor (CDI)

En la Inyección de Constructor, la Inyección de Dependencia se inyectará con la ayuda de constructores. Ahora, para configurar la Inyección de dependencia como Inyección de dependencia del constructor en el bean, se realiza a través del archivo de configuración del bean. Para ello, la propiedad que se establecerá con el CDI se declara bajo la etiqueta <constructor-arg> en el archivo bean-config.

Finalmente, busquemos diferencias feroz entre ellos representadas a través de la tabla que se proporciona a continuación para obtener una mejor comprensión, ya que siempre persiste un dilema si no se comprende con gran profundidad.

Primavera IoC (Inversión de control)

Inyección de dependencia de primavera

Spring IoC Container es el núcleo de Spring Framework. Crea los objetos, configura y ensambla sus dependencias, gestiona todo su ciclo de vida. La inyección de Spring Dependency es una forma de inyectar la dependencia de un componente del marco mediante las siguientes formas de Spring: Inyección de Constructor e Inyección de Setter
Spring ayuda a crear objetos, administrar objetos, configuraciones, etc. debido a IoC (Inversion of Control).  Spring Framework ayuda en la creación de aplicaciones débilmente acopladas debido a la inyección de dependencia.
Spring IoC se logra a través de la inyección de dependencia. La inyección de dependencia es el método para proporcionar las dependencias y la inversión de control es el resultado final de la inyección de dependencia.
IoC es un principio de diseño en el que se invierte el flujo de control del programa. La inyección de dependencia es uno de los subtipos del principio IOC.  
La programación orientada a aspectos es una forma de implementar la inversión de control. En caso de cambios en los requisitos comerciales, no se requiere ningún cambio de código.

Artículo relacionado:

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *