Java a fondo

Page 421

408

16 Inversión del control por inyección de dependencias

16.2.2 Conclusión y repaso En el ejemplo anterior, Spring nos permitió desacoplar el procesamiento de la información y configurar los valores de los parámetros con los que la aplicación debe trabajar. El hecho de contar con la posibilidad de cambiar las implementaciones de los objetos con las que trabajamos, la forma en la que estos serán instanciados, cómo recibirán sus parámetros e, incluso, qué valores tomarán estos parámetros nos ayuda a incrementar dramáticamente la mantenibilidad, la extensibilidad y la escalabilidad de nuestras aplicaciones en las que, manteniendo las mismas interfaces, podemos conectar y desconectar a gusto sus implementaciones. Repasemos el programa principal y la primer versión del archivo beans.xml. ▼

public static void main(String[] args) { // levanto el framework

XmlBeanFactory factory = new XmlBeanFactory( new ClassPathResource("beans.xml")); // pido un objeto

HolaMundo h = (HolaMundo)factory.getBean("HOLAMUNDO"); // invoco sus metodos

}

h.saludar("Pablo"); ■

beans.xml (define el bean PROCESADOR y se lo inyecta a HOLAMUNDO) ▼

:

:

<bean name="HOLAMUNDO" class="demo.HolaMundoImple" > <property name="procesador" ref="PROCESADOR" /> </bean> <bean name="PROCESADOR" class="demo.ProcesadorImpleConsola" /> ■

Como resultado de este programa, el saludo que emite el objeto h (instancia de HolaMundoImple) se imprime en la consola. Luego desarrollamos una nueva implementación de Procesador para que, en lugar de imprimir la cadena en la consola, la grabe en un archivo. Así, en mismo programa principal con la siguiente configuración en beans.xml, genera el archivo salida.txt agregándole una nueva línea cada vez que lo ejecutemos. ▼

public static void main(String[] args) { // levanto el framework

XmlBeanFactory factory = new XmlBeanFactory( new ClassPathResource("beans.xml")); // pido un objeto

HolaMundo h = (HolaMundo)factory.getBean("HOLAMUNDO"); // invoco sus metodos

}

h.saludar("Pablo"); ■

Java a fondo - Ing. Pablo A. Sznajdleder

Java a fondo / pag. 408


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.