Ir al contenido principal

Crear una aplicación con Spring Boot


Código fuente del articulo:

Primero lo primero... ¿que es Spring boot?.. Spring boot es un framework y un conjunto de funcionalidades pre configuradas que te permiten lanzar y probar una aplicación web con solo unas pocas lineas de código.

La idea detrás de esto es que no tengas que usar gastar mucho el cerebro para configurar ni navegar entre archivos de configuración y quitarte de encima algo de todo el xml que requiere una aplicación de Spring para funcionar.

así que a darle:

paso 1- Descargar los que vas a necesitar:



  • Eclipse IDE (Para hacerte la vida fácil.. siempre usa un IDE y si alguien pregunta mientes y dices que eres un@ geni@ en ANT, en GRADLE y que el XML es tu segunda lengua) descarga la versión para EE developers porque ya trae todo pre configurado (https://www.eclipse.org/downloads/eclipse-packages/)


  • El objetivo detras de Spring es ejectuarse en un servidor web ya sea para mostrar contenido (paginas) o para ofrecer servicios (REST y SOAP), asi que vas a nececitar un contenedor web en este caso el mas simple y que no requiere instalación es Tomcat, solo descargas descomprimes y ya. para este tutorial estoy utilizando tomcat 8. aunque ya esta disponible la versión 9. (https://tomcat.apache.org/download-80.cgi#8.0.46) lo que vas a descargar es el core.




  •  Y por ultimo Spring Boot, esto lo vas a descargar desde eclipse directamente en el proyecto usando Maven así que sin mente en este punto. 



paso 2-

Descomprime eclipse y ejecutalo



configuras un nuevo work space, que cualquier ruta en tu pc donde se van a alojar los proyectos.



y taran!!! bienbenid@ a Eclipse



ahora configura el JDK... para eso le das en window->preferences



y en la ventana de preferencias le das Java->Insalled JREs (lo mas seguro es que por defecto te aparesca uno ya instalado) y allí seleccionas Add.



La opcion add seleccionas Standard VM y le das Next



Selecciona el boton directory y del directorio de tu maquina buscas donde quedo instaldo el JDK seleccionas la carpeta y le das aceptar



finalizar



y aplicar


una vez configurado el jdk,  vamos a agrega el servidor de aplicaciones (Tomcat)
 para ello en la misma ventana de preferencias busca el menu server -> Runtime Environments y le damos la opcion Add


Allí del menú buscamos el servidor apache de la versión que descargamos seleccionamos y damos Next.










en la pantalla siguiente seleccionamos Browse y en la pantalla que despliega buscamos el directorio donde descomprimimos el servidor



le damos aceptar y finalizar








Con esto hecho ya tienes el IDE configurado para crear, probar, compilar y desplegar proyectos web utilizando Spring y las tecnologías básicas de JAVA como , JSP y Servlet. para trabajar con JEE nececitaras configurar un contenedor de EJBs pero ese no es el objetivo de este tutoría.

con el ambiente configurado vamos a crear un nuevo proyecto WEB Dinámico.


en la ventana siguiente bautizamos nuestro proyecto web. como TestSpringBoot, nos fijamos que la Dynamic web module versión sea 3 o superior y le damos finalizar.




 en este punto eclipse habrá creado y configurado un nuevo proyecto web (si no lo ves como esta en la pantalla que anexo, cierra la ventana de bienvenida)




Este es un proyecto web que puede generar JSP's, servlet's y ejecutarse en un contenedor web, pero aun no es un proyecto Spring, para que soporte Spring lo primero es permitirle que se conecte a Git hub utilizando Maven y descargue las librerías requeridas. Aqui es donde entra la magia de Eclipse, dándole con el secundario a la carpeta principal del proyecto selecciona la opción Configure -> convert to Maven Project



La ventana que te va a mostrar es la configuracion básica del archivo de descripción llamado POM.xml sin mas cambios le das finalizar.



Y ahora veras que tu proyecto tiene un archivo mas el pom.xml



selecciona la pestaña que dice pox.xml para poder editar el archivo y agregar las (dependencias), que no son mas que las direcciones de las librerías y proyectos que vamos a asociar a nuestro proyecto, en este caso vamos a agregar a Spring.
antes de editar se vera así.



una vez editado quedara así



por supuesto aqui adjunto el xml para que lo puedas copiar y pegar

<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>TestSpringBoot</groupId>
  <artifactId>TestSpringBoot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging> 
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.3.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <properties>
        <java.version>1.8</java.version>
    </properties> 
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>     
              <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>


le das guardar y Eclipse se encargara de conectarse a github y descargar todo lo que nececitas para que tu proyecto Spring funcione.

puede que te marque un error y diga que los proyectos relacionados no estan acutalizados simplemente le das secundario sobre la carpeta principal del proyecto-> Maven ->Update Project



y ok en la ventana emergente.. (en algunos casos vas a nececitar habilitar la casilla Force update of snapShots )



Ahora si porfin a trabajar
en la carpeta src del proyecto dale crear nueva clase y asigna el siguiente paquete y nombre de clase





remplaza el contenido de la clase por el siguiente:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Aplication {
    public static void main(String[] args) {
        SpringApplication.run(Aplication.class, args);
    }
}

quedando así


esta clase sera la clase principal a la que hemos agregado un metodo main que sera el encargado de auto configurar y ejecutar nuestra aplicacion.

Ahora demosle algo para ejecutar en el mismo paquete crea la siguiente clase.

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController

public class RequestTest {

    @RequestMapping("/")
    String raiz() {
        return "Bienvenido!!!";
    }

    @RequestMapping("saludo")
    String saludo() {
        return "Hola !!!!!!!!!!";
    } 

}

que es un contralador sin direccionamiento lo que quiere decir que se encargara de manejar todas las peticiones hechas a la raiz de la aplicacion, y cuenta con dos metodos uno marcado con / que recibira las peticiones a la raiz y otro marcado como saludo que manejara las peticiones hecahas a /saludo


En el siguiente blog te muestro como se prueba https://programmingbabel.blogspot.com/2017/09/crear-una-aplicacion-con-spring-boot-2.html



Comentarios

Entradas populares de este blog

Conectarse al LDAP (directorio activo) utilizando JAVA

Un LDAP es un sistema de autenticación estándar utilizado por muchas compañías para controlar el acceso a aplicaciones y recursos. Por lo general se espera que cualquier nueva aplicación haga uso del LDAP para realizar la autenticación y controlar los permisos en forma unificada, la seguridad es transversal a todos los procesos que realiza una organización. Una vez regado el cuento a lo que vinimos, como conectarse a un LDAP. Lo primero que debes saber es que no se requieren librerías adicionales, JAVA en su distribución estandar ya cuenta con todo lo que necesitas. primero tres siglas que tienes que tener en cuanta. CN  = Common Name OU  = Organizational Unit DC  = Domain Component Para conectarse primero necesitas es instanciar un Objeto de la clase LdapContext, este se encargara de manejar la conexión al LDAP y las peticiones que se hagan al mismo. por consiguiente necesitara que le entregues una serie de propiedades de conexión. Esto lo haras con un Map de la siguiente

Clases anónimas JAVA (Anonymous Classes)

Código fuente articulo: https://www.dropbox.com/s/pzw44ot0ji2metl/Lambda.zip?dl=0 Las Clases anónimas en JAVA son una solución rápida para implementar una clase que se va utilizar una vez y de forma inmediata. Por ejemplo el  EventHandler  para un botón se puede implementar en la misma asignación valiendonos de la interfaz  EventHandler  que ya esta definida. Pero mejor vamos con un ejemplo mas simple. De la definición anterior concluimos dos cosas la primera es que para crear una clase anónima es necesario haber definido una interfaz, una clase o una clase abstracta. La clase anónima lo que hará sera implementar la interfaz definida o sobre escribir los métodos definidos. Para ilustrar esto utilizaremos el ejemplo del JAVA Tutorial https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html . en este ejemplo tenemos que implementar clases que cumpliendo con la interfaz Saludo sean capaces de saludar en diferentes idiomas. El paso uno sera definir la int

Paralelismo en JAVA Executors (ExecutorService, Callables y Futures).

Código fuente articulo: https://www.dropbox.com/s/jci67120hmd0uce/Paralelismo.zip?dl=0 Para manejo de concurrencia Java desde la versión 5 presento el Concurrency API  este presento una mejora substancial en el manejo de hilos y procesos en paralelo, antes solo contabas con Thread y Runnable. lo que te obligaba a controlar la creación y el numero de hilos de ejecución, no te entregaba un resultado del procesamiento y no te dejaba controlar las Excepciones que lanzara un hilo...un hilo se lanzaba y amenos que le enviaras un un CallBack perdías todo contacto con el. Para solucionar este problema se crearon dos tipos de objetos Callables y Futures. estos dos te permiten encapsular una tarea asignándole un tipo de Objeto que sera el valor de retorno y hacer seguimiento a las tareas que ejecuto en paralelo pudiendo preguntar si ya termino, que resultado lanzo y que excepciones ocurrieron. Arranquemos con la implementación de Callable, Callable es una interfaz que te permite defini