sábado, 28 de enero de 2012

Frameworks… Spring Framework

Es un framework para desarrollo en Java. Su misión es  hacer de la programación Java algo más sencillo de realizar. Es un "contenedor de objetos" (beans) como alternativa a EJB; normalmente usa archivos xml para definir los beans.

Tipos de inyección de dependencias:


  1. en las propiedades usando set
  2. o directamente usando un constructor
  3. en interfaces (no usado)


Además nos permite integrar otras tecnologías (GWT, Hibernate,JSF, etc.). Permite el testeo de las clases (pruebas unitarias, TDD,etc.) y otras cosas más.

1. Este es un ejercicio sencillo: el famoso Hola mundo !!


ServicioHola.java
package org.springpruebas.prueba01;

/**
 *
 * @author yo
 */
public interface ServicioHola {
   public abstract void decirHola();
}

ServicioHolaImpl.java
package org.springpruebas.prueba01;

/**
 *
 * @author yo
 */
public class ServicioHolaImpl implements ServicioHola {

  private String greeting;

  public  ServicioHolaImpl  () {}
  
  public  ServicioHolaImpl  (String saludo) {
    this.saludo = saludo;
  }
  public void decirHola() {
    System.out.println(saludo);
  }
  public void setSaludo(String saludo) {
    this.saludo = saludo;
  }

}

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

  <!-- para el ejemplo de HolaApp.java -->
  <bean id="holaServicio"
      class="org.springpruebas.prueba01.ServicioHolaImpl">
    <property name="saludo">
      <value>Hola mundo!!</value>
    </property>
  </bean>
  <!-- para el ejemplo de HolaApp.java -->

</beans>


HolaApp.java
package org.springpruebas.prueba01;



import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 *
 * @author yo
 */
public class HolaApp {
   public static void main(String[] args) throws Exception {

 ApplicationContext  application= new ClassPathXmlApplicationContext("context.xml");

 ServicioHola holaServicio =(ServicioHola) application.getBean("holaServicio");
    holaServicio.decirHola();
  }
}

Salida (en Netbeans):

Hola mundo!!
BUILD SUCCESSFUL (total time: 0 seconds)

No hay comentarios:

Publicar un comentario