Roque
Manuel Rueda Anastacio, Eder Roberto Ramos Guerrero.
15/01/13
Índice
de contenido
Tabla de versiones
Versiones |
|||
Versión |
Fecha |
Autor |
Comentario |
1.0 |
15/01/13 |
Roque Rueda, Eder Ramos |
Version inicial del
documento. |
Objetivo
Explicar
la creación de proyectos utilizando Maven y el framework Spring.
Instalación
Necesitamos
instalar en nuestro ambiente de desarrollo el plug in de m2e Maven
Integration for Eclipse en nuestro IDE Eclipse.
Creando un proyecto maven
Creando
un proyecto vamos a File -> New -> Other -> Maven ->
Maven Project.
En
la siguiente pantalla debemos asegurarnos de que el check box create
a simple project no esta seleccionada y presionamos next.
Vamos
a seleccionar en el filtro de la ventana quick start para seleccionar
la maven-archetype-quickstart.
Como
se muestra en la ventana siguiente y presionamos next.
Ahora
vamos a indicar los datos de nuestro proyecto como lo son su
identificador el paquete y demas datos para obtener una pantalla como
la que se muestra acontinuacion:
Y
vamos a presionar Finish para generar nuestro proyecto. Obtendremos
una estructura como la que se presenta a continuación:
Agregando referencias a spring
Ahora
vamos a agregar referencias hacia el framework spring para esto
editamos nuestro archivo pom.xml, agregando el siguiente codigo a
nuestras dependencias.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
Y
quedara nuestro archivo pom.xml como se muestra a continuación:
<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>HelloWorld</groupId>
<artifactId>HelloWorld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>HelloWorld</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
</dependencies>
</project>
Vamos
a guardar nuestro proyecto y veremos como maven obtiene la depencia y
la coloca en nuestro classpath.
Agregando clases a nuestro proyecto
Vamos
a crear una clase (Java Bean) y se declara como un Bean de Spring mas
adelante, esta clase la vamos a colocar en nuestra carpeta
src/main/java, en nuestro paquete helloworld.
package
helloworld;
/**
*
Java bean that prints a hello message to the
*
user in the default output
*
*
@author
Roque
Rueda
*
*/
public
class
Hello
{
private
String name;
/**
* @param
name the name to set
*/
public
void
setName(String name) {
this.name
= name;
}
/**
* Display a hello message
*/
public
void
printHello()
{
System.out.println("Hello!
" + name);
}
}
Configurando el Bean Spring
Vamos
a proceder a crear el archivo de configuración que declarará los
Beans de Spring que contendrá el proyecto que estamos creando.
Primero crearemos un nuevo folder con el nombre
resources,
para
esto hacemos click derecho en el proyecto y vamos a propiedades del
proyecto en Java Build Path vamos a la pestaña source y ahi tenemos
la opción de agregar nuevas carpetas dentro de nuestro proyecto.
Ahora procedemos a crear un
archivo xml de configuración del Bean de Spring. El cual va a
declarar los Beans.
Una vez agregado este arhivo
editamos el contenido del archivo con el siguiente codigo:
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean
id="helloBean"
class="helloworld.Hello">
<property
name="name"
value="Roque"
/>
</bean>
</beans>
Y finalmente vamos a editar
nuestra clase App.java con el siguiente codigo:
package
helloworld;
import
org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
/**
*
Hello world!
*
*/
public
class
App
{
public
static
void
main( String[] args )
{
ApplicationContext context = new
ClassPathXmlApplicationContext(
"SpringBeans.xml");
Hello
obj = (Hello) context.getBean("helloBean");
obj.printHello();
}
}
Una
vez ejecutado obtenemos la siguiente salida:
15/01/2013
11:17:01 PM
org.springframework.context.support.AbstractApplicationContext
prepareRefresh
INFO:
Refreshing
org.springframework.context.support.ClassPathXmlApplicationContext@13fcf0ce:
display name
[org.springframework.context.support.ClassPathXmlApplicationContext@13fcf0ce];
startup date [Tue Jan 15 23:17:01 CST 2013]; root of context
hierarchy
15/01/2013
11:17:01 PM
org.springframework.beans.factory.xml.XmlBeanDefinitionReader
loadBeanDefinitions
INFO:
Loading XML bean definitions from class path resource
[SpringBeans.xml]
15/01/2013
11:17:01 PM
org.springframework.context.support.AbstractApplicationContext
obtainFreshBeanFactory
INFO:
Bean factory for application context
[org.springframework.context.support.ClassPathXmlApplicationContext@13fcf0ce]:
org.springframework.beans.factory.support.DefaultListableBeanFactory@e49d67c
15/01/2013
11:17:01 PM
org.springframework.beans.factory.support.DefaultListableBeanFactory
preInstantiateSingletons
INFO:
Pre-instantiating singletons in
org.springframework.beans.factory.support.DefaultListableBeanFactory@e49d67c:
defining beans [helloBean]; root of factory hierarchy
Hello!
Roque
Revisando la estructura del código
El
proyecto generado contiene la siguiente estructura.