Configuración Contenedor Spring Anotaciones

 La configuración mediante anotaciones es la forma más común  para la configuracíón de Spring.  Las anotaciones simplifican la configuración del contenedor Spring, creación de beans, inyección de dependencias, en otras.

Vamos a seguir trabajando con el ejemplo anterior, pero ahora mediante anotaciones.

Anotaciones básicas

  • @Componente
  • @Controller
  • @Service
  • @Repository
Las anotaciones anteriores son ubicadas sobre las clases Java para definir un bean. La @Compontent es la anotación base para las demás, de está se derivan  las otras anotaciones. 

Clase SaludoImpl

Modificamos la clase anteriormente creada SaludoImpl y agregamos @Component sobre la clase.

package com.curso.spring;
import org.springframework.stereotype.Component;

@Component("miSaludo")
public class SaludoImpl implements Saludo{
	
   	 @Override
	pubic void saludar(){
    	System.out.println("Hola Mundo");  
    }
}

Cuando el contenedor Spring encuentra esta clase anotada @Component, creará un bean con el id miSaludo. En caso que no especifique un id para el bean, se le dará el nombre de la clase, iniciando con la primera letra en minúscula, ejem: saludoImpl

Para que contenedor Spring pueda encontrar las clases anotadas con @Component o algúna de sus derivadas, necesitamos indicarle el paquete donde se encuentran esas clases, para ello vamos a modificar la clase de configuración que se creo en la entrada anterior.

Clase de configuración

Modificamos la clase ConfigSpring, agregamos @ComponentScan(basePackages = {"com.curso.spring"}) 

 package com.curso.spring;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 
@Configuration
@ComponentScan(basePackages = {"com.curso.spring"})
public class ConfigSpring{	
   	 
}

@ComponentScan(basePackages = {"com.curso.spring"}) indica el paquete completo donde Spring debe escaner en busca de clases anotadas.

No fue necesario utilizar @Bean para crear el bean miSaludo, ya que utilizamos la anotación @Compontent directamente sobre la clase SaludoImpl.

Salida Consola

En la clase principal Test no es necesario modificar nada, puedes probar el programa

 Hola Mundo Spring

Hemos visto las distintas formas de configuración para el contenedor Spring, cada una de ellas tiene sus pro y contras, la configuración basada en Java y anotaciones suelen combinarse para la configuración actualmente. La configuración XML ya esta algo obsoleta para estos tiempos.

Descargar Proyecto github

¡Hasta pronto 👋👍!

Comentarios

Entradas populares de este blog

JWT (Json Web Token)

Instalar Java Developmet Kit(JDK)

Curso de Spring