🌱 Digital Garden

Search

Search IconIcon to open search

Spring Core

Last updated Aug 6, 2023 Edit Source

Modulo base de Spring, contiene multiples conceptos sobre los cuales se basa y desenvuelve las partes del framework.

# Spring IoC Container

Primero debemos entender el concepto de la notes/Inversion de ControlPosteriormente, una forma de este, muy important en Spring es la notes/Inyeccion de Dependencias.

Estos conceptos estan implementados en Spring mediante los contenedores

Adicionalmente, para construir los beans Spring necesita de determinada configuracion en formas de metadatos para saber de donde crearlos, su ciclo de vida, scope y algunos otros datos. Todos estos pueden ser proporcionados de dos formas:

Una vez los beans han sido instanciados, sus ciclos de vida han sido definidos y el alcance que tienen a las clases tambien, el contenedor procede a satisfacer las dependencias en los lugares que reconoce como requeridos.

Antes de proseguir veamos que son los notes/Spring Beans exactamente.

# Formas de Inyeccion de Dependencias

Las tres formas son:

Para realizarlo de forma explicita podemos utilizar la clasica anotacion @Autowired asi como:

1
2
3
4
5
// Via Campo directo
public class SomeClass {
	@Autowired
	private SomeDependency dependency;
}
1
2
3
4
5
6
7
8
// Via Constructor
public class SomeClass {
	private SomeDependency dependency;

	public SomeClass(SomeDependency dependency) {
		this.dependency = dependency;
	}
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// Via Setter
public class SomeClass {
	private SomeDependency dependency;

	// constructor

	@Autowired
	public void setDependency(SomeDependency dependency) {
		dependency = dependency;
	}
}

Los tres modos tienen sus ventajas y desventajas, veamos algunos puntos clave: