1. Introducción
Bienvenidos al primer post de este Blog!
Veremos como configurar y arrancar nuestra primera aplicación SpringBoot
utilizando gradle como gestor de paquetes.
Os podéis descargar el código de mi GitHub que se encuentra aquí.
Tecnologías empleadas:
- Java 8
- Gradle 3.1
- SpringBoot 1.5.2.RELEASE
- Spring 4.3.7.RELEASE
2. ¿Qué es Spring Boot?
SpringBoot
es una parte del proyecto de Spring que permite levantar aplicaciones web sin necesidad de tener corriendo un contenedor de servlet como Tomcat o un servidor de aplicaciones aparte. Esto es posible ya que la dependencia de SpringBoot nos provee de un tomcat embebido por lo que el despliegue se torna mucho más agil a partir de ahora.
3. Estructura del proyecto
4. Requisitos previos
El proyecto ha sido montado sobre gradle, así que si no lo tienes instalado deberás.
- Descargar gradle de la web oficial
- Descomprimir los binarios en un directorio dentro de tu filesystem
- Importar el directorio /bin del gradle a la variable de entorno PATH
Para verificar que hemos configurado gradle correctamente deberemos hacer
5. Ficheros
buildscript { repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE") } } apply plugin: 'java' apply plugin: 'idea' apply plugin: 'org.springframework.boot' sourceCompatibility = 1.8 springBoot { mainClass = "com.jorgehernandezramirez.spring.springboot.helloworld.Application" } repositories { mavenCentral() } dependencies { compile("org.springframework.boot:spring-boot-starter-web") }
SpringBoot sólo necesita un Main para arrancar. Basta con hacer.
package com.jorgehernandezramirez.spring.springboot.helloworld; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public Application(){ //For Spring } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Nos creamos un controlador donde expondremos nuestro primer servicio Rest
package com.jorgehernandezramirez.spring.springboot.helloworld.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorldController { @RequestMapping("/") public String doHelloWorld() { return "Hello World!"; } }
Por defecto SpringBoot arranca en el puerto 8080. Le podemos decir que arranque en otro puerto en el fichero application.yml.
6. Compilando y arrancando la aplicación.
Para compilar la aplicación deberemos ejecutar
Para arrancar una aplicación SpringBoot tenemos diferentes opciones.
Utilizando Java
Utilizando Gradle
Utilizando el IDE
En caso de utilizar IntelliJ, puedes arrancar aplicaciones SpringBoot configurando el Edit Configuration.
Una vez arrancado nuestra aplicación nos vamos a http://localhost:8081