Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Ejercicio: Concurso Talentos v1
EjercicioPROYECTO CONCURSO DE TALENTOS V1
1
Objetivo del Ejercicio
El objetivo del ejercicio crear el proyecto Concursode Talentos.Al finalizar deberemos observar la siguiente salida:
2
Ejercicio: Concurso Talentos v1
Crearemos un proyecto que contenga las siguientes clases:
Proyecto Concurso Talentos
3
Ejercicio: Concurso Talentos v1
Creamos un nuevo proyecto Maven:
Paso 1. Crear un proyecto Maven
4
Ejercicio: Concurso Talentos v1Paso 1. Crear un proyecto Maven (cont)
Creamos un proyecto simple de Maven
5
Ejercicio: Concurso Talentos v1Paso 1. Crear un proyecto Maven (cont)
Escribimos los valores por siguientes:
6
Indicamos que no excluya ningún archivo en resources:
Paso 2. Configuración del Proyecto (cont)
7
Paso 2: Configuración del proyecto (cont)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion><groupId>es.upv.lemus</groupId><artifactId>spring-concurso-talentos-01</artifactId><version>0.0.1-SNAPSHOT</version><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties>
</project>
Agregamos las propiedades que indican la versión jdk
8
Ejercicio: Concurso Talentos v1Paso 3. Agregar librerías de Spring
De la misma manera que en los ejercicios anteriores, abrimos elarchivo pom.xml y agregamos las siguientes librerías a nuestroproyecto:• spring-core• spring-context-support• spring-test• junit• log4jEn automático al guardar el archivo de pom.xml descargará laslibrerías y dependencias necesarias para el proyecto.
9
Paso 4. Agregar el archivo log4j
Crear el archivo para el manejo de logging llamado log4j.properties
Este archivo lo depositaremos en src/main/resources
10
# Set root logger level to DEBUG and its only appender to A1. log4j.rootLogger=INFO, A1
# A1 is set to be a ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout. log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x -%m%n
Modificar el fichero log4j.properties para que tenga el siguiente contenido:
Paso 4. Agregar el archivo log4j (cont.)
11
Paso 5. Crear la clase EjecucionException
Nota: Esta clase se utiliza para indicar cualquier excepción, sin embargo no es parte de las clases de dominio de este proyecto.
package concursantes;
public class ExecutionException extends RuntimeException {public ExecutionException() {}
public ExecutionException(String msg) {super(msg);
}}
Crear la clase EjecucionException.java y agregar el siguiente código.
12
Paso 6. Crear Interfaz Concursante
package concursantes;
public interface Concursante {public void ejecutar()
throws ExecutionException;}
Crear la Interfaz Concursante.java y agregar el siguiente código:
13
Paso 7. Crear la clase Malabarista
Crear la clase Malabarista.java yagregar el siguientecódigo:
package concursantes;public class Malabarista implements Concursante {private int pelotas = 5;
public Malabarista() {}public Malabarista(int pelotas) {this.pelotas = pelotas;
}public void ejecutar() throws
ExecutionException {System.out.println("Malabareo " + pelotas + " pelotas");
}public int getPelotas() {return pelotas;
}public void setPelotas(int pelotas) {this.pelotas = pelotas;
}}
14
Ejercicio: Concurso Talentos v1
A continuación vamos a crear el archivo applicationContext.xml
Paso 8. Creación archivo applicationContext.xml
15
Ejercicio: Concurso Talentos v1Paso 8. Creación archivo applicationContext.xml
Seleccionamos el namespace de beans
16
Paso 9. Configuración archivoapplicationContext.xml
Agregamos la definición de los siguientes beans dentro del tag de<beans>
<!-- Codigo equivalente en Java:Malabarista concursante1 = new Malabarista(); --><bean id="solei" class="concursantes.Malabarista" />
17
Paso 10. Creamos la Clase PruebaConcursoTalento
deAgregamos el código siguiente a la clasePruebaConcursoTalento.java:
package concursantes;
import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import concursantes.Concursante;
public class PruebaConcursoTalento {
public static void main(String[] args) {ApplicationContext ctx = new
ClassPathXmlApplicationContext("applicationContext.xml");
Concursante malabarista1 = (Concursante) ctx.getBean("solei");malabarista1.ejecutar();
}}
18
Paso 11. Ejecutamos el proyecto
Ejecutamos el proyecto y deberemos ver la siguiente salida:
Podemos observar la salida al ejecutar el método ejecutar a través de lainterfaz Concursante, apuntando a un objeto de tipo Malabarista.
19
Paso 12. Creamos un Test de JUnitCreamos el siguiente test de Junit (crear en carpeta test)
package test;import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; importorg.junit.Before;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext; import static org.junit.Assert.assertEquals;
import concursantes.Concursante; importconcursantes.Malabarista;
public class TestConcursoTalentos {
private static Log logger = LogFactory.getLog("TestConcursoTalentos"); private Concursante malabarista1;
@Beforepublic void before() {
ApplicationContext ctx = new ClassPathXmlApplicationContext( "applicationContext.xml");
malabarista1 = (Concursante) ctx.getBean("solei");}
@Testpublic void testMalabarista() { logger.info("Inicio de
ejecutar Malabarista");
int noPelotas = 5; malabarista1.ejecutar();assertEquals(noPelotas, ((Malabarista) malabarista1).getPelotas());
logger.info("Fin de Ejecutar Malabarista");}
}
20
Ejercicio: Concurso Talentos v1
Ejecutar la clase pero como Test de Junit, y obteniendo la siguiente salida:
Paso 13. Ejecutar el Test
21
Referencias:
Junit: http://code.google.com/p/t2framework/wiki/JUnitQuickTutorial
Log4J: http://logging.apache.org/log4j/1.2/manual.html
22