martes, abril 15, 2008

Appfuse 2. Creando un nuevo proyecto Spring MVC

Appfuse tiene varias plantillas de proyecto, crearemos nuestro proyecto con la plantilla de Spring-MVC.

En el directorio que queremos crear el proyecto:
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.1 -DgroupId=com.miproyecto.app -DartifactId=proyecto

Las dos últimas opciones son las que cambiamos para personalizar nuestro proyecto.
-DgroupId=com.miproyecto.app es el paquete raíz que utilizaremos, todos los nuevos paquetes que genera Appfuse se crearán dentro de este.
-DartifactId=proyecto es el nombre de nuestro proyecto.

Luego de ejecutar el comando, Appfuse y Maven bajarán todas las librearías de las que depende el proyecto Spring-MVC, entre ellas, Velocity, Hibernate, Spring, AcegiSecurity,...

Para probarlo primero nois aseguramos de tener un MySQL funcionando con una base de datos lista para el proyecto y editamos el archivo pom.xml en la sección Database Settings que está casi al final para introducir las credenciales.

<!-- Database settings -->

<dbunit.dataTypeFactoryName>org.dbunit.dataset.datatype.DefaultDataTypeFactory</dbunit.dataTypeFactoryName>
<dbunit.operation.type>CLEAN_INSERT</dbunit.operation.type>
<hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect>

<jdbc.groupId>mysql</jdbc.groupId>
<jdbc.artifactId>mysql-connector-java</jdbc.artifactId>
<jdbc.version>5.0.5</jdbc.version>

<jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName>
<jdbc.url><![CDATA[jdbc:mysql://localhost/mibasededatos?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf-8]]></jdbc.url>
<jdbc.username>miusuario</jdbc.username>

<jdbc.password>miclave</jdbc.password>

Para vestir el sitio, editamos las leyendas en /src/main/resources/ApplicationResources.properties


Lo incluimos a un servidor de control de versiones

svn import miproyecto svn://somesvnserver.com/proyecto/trunk -m "Inicio de miproyecto"

Ahora bajamos el resto de los archivos del proyecto

mvn appfuse:full-source

Con este paso dejamos a un lado muchos archivos de appfuse que después podemos integrar al svn cuando creamos necesario.

Generamos los archivos para edición con Eclipse:

mvn install eclipse:eclipse

Ahora probamos nuestra aplicación:

mvn jetty:run-war

Abrimos nuestro navegador en http://localhost:8080 y debemos ver una ventana de bienvenida

¡Listo!


Otros comandos usados comúnmente:



  • Para crear rápidamente una entidad con CRUD
    mvn appfuse:gen -Dentity=Page

  • Para correr y probar todo el sistema
    mvn clean; mvn jetty:run-war -Dmaven.buildNumber.doCheck=false

  • Para correr un JUnit
    mvn test -Dtest=UserFormControllerTest

  • Para exportar la BD usando DBUnit
    mvn dbunit:export -Ddest=sample-data.xml


No hay comentarios.: