Inversión de control (IoC) con Spring

El núcleo de Framework Spring es el contenedor de inversión de control, este es el encargado de instanciar, inicializar y administrar los objetos de la aplicación, estos objetos son llamados beans, la forma como se crearan estos objetos debe ser configurada, lo podemos hacer mediante un archivo XML, usando configuración basada en anotaciones o la configuración basada en Java, podemos usar una, otra o combinarlas, según nuestras necesidades.

Mi Primera Aplicación Spring


Para facilitar el proceso de creación de una aplicación Spring es recomendable utilizar un sistema de administración de dependencias como Maven o Gradle, usaremos el primero, los metadatos de configuración se crearan usando la configuración basada en Java.

Creación de un proyecto Maven con Netbeans 8

java maven project
maven java
Editar el archivo pom.xml para agregar la librerías Spring y sus dependencias.
<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.2.4.RELEASE</version>
        </dependency>
</dependencies>
Para crear el clásico programa de inicio “Hola Mundo” con IoC Spring, crearemos la clase principal a la que llamaremos Hello, una interfaz llamada HelloService, solo define un método llamado saludar que devuelve un String y la clase que implementa dicha interfaz llamada HelloServiceImpl, el mismo devuelve el mensaje de saludo “Hola Mundo”.

public interface HelloService {
    public String saludar();
}
public class HelloServiceImpl implements HelloService {
    @Override
    public String saludar() {
        return "Hola Mundo.";
    }    
}

En la clase principal iniciaremos el contenedor spring, para ello nos apoyaremos en la clase AnnotationConfigApplicationContext la cual nos permite iniciar el contenedor a partir de una configuración basada en java, debemos indicar la clase que contiene la configuración, de momento usaremos la propia clase principal Hello.class
El método marcado con la anotación @Bean será usado por el contendor spring para crear un bean de tipo HelloService
Cuando deseemos obtener un determinado bean ApplicationContext.getBean() realizara la tarea, podemos obtener un bean por tipo, por nombre o ambos.

public class Hello {

    @Bean
    public HelloService helloBean() {
        return new HelloServiceImpl();
    }

    public static void main(String[] args) {
        AnnotationConfigApplicationContext applicationContext
                = new AnnotationConfigApplicationContext(Hello.class);

        HelloService hs = applicationContext.getBean(HelloService.class);

        System.out.println(hs.saludar());
    }

}

Si ejecutamos veremos en la consola de salida el mensaje: Hola Mundo.

GitHub: Ioc con Spring Framework

Comentarios

Entradas populares de este blog

Conectar SQL Server con Java

Entrenar OpenCV en Detección de Objetos

Procesamiento de imágenes en OpenCV

Acceso a la webcam con OpenCV

Conociendo la clase cv::Mat de OpenCV