Para proyectos SpringBoot se suele utilizar como IDE el Spring Tool Suite que es un Eclipse tuneado y que incorpora por defecto los plugins para desarrollar con SpringBoot. Aunque el STS está muy bien hay que reconocer que el IntelliJ es mucho mejor IDE.
El problema es que con la versión Community de IntelliJ (gratis) no se pueden instalar los plugins para SpringBoot y el desarrollo no es tan trivial.
Hay varias maneras para desarrollar un proyecto SpringBoot con el IntelliJIdea Community, en este artículo muestro varias opciones para hacerlo.
Creando el proyecto SpringBoot:
Desde la página de Spring Initializr creamos un proyecto SpringBoot seleccionado todas las librerías que vamos a utilizar. Lo descargamos y posteriormente lo abrimos en el IntelliJ.
Dependiendo de como hemos decidido crear el proyecto en la web de Spring Initializr se nos abrirá como un proyecto maven o gradle.
Ahora ya podemos empezar a picar código y desarrollar nuestro servicio web.
Arrancando el Servicio Web SpringBoot:
Para compilar y arrancar nuestro servicio hay varias opciones:
1.- La forma más rápida es desde la ventana 'Project' seleccionando el archivo que corresponde con la clase 'Application' de nuestro proyecto.
Haciendo click derecho y seleccionando 'Run' o pulsando Ctrl+Mayús+F10 se compilará nuestro código y se arrancará el servicio web.
Si lo que queremos es depurar, en vez de seleccionar la opción 'Run' deberemos seleccionar 'Debug'.
En la ventana 'Run' podemos ver los logs que indican que el servicio ha arrancado correctamente y desde esta misma ventana podemos finalizar su ejecución haciendo click en el botón con el símbolo de Stop
Si queremos volver a arrancar el servicio después de la primera vez, desde esta misma ventana de 'Run' se puede hacer click en el botón 'Rerun' sin tener que volver a seleccionar el archivo de nuestra clase 'Application'.
2.- La opción standard y que se debería de hacer en cada proyecto es añadiendo una Run/Debug Configuration como se muestra en el siguiente video:
3.- Otra opción es utilizando el plugin maven correspondiente desde la ventana de 'Maven'. Localizando el plugin 'spring-boot - spring-boot:run' y haciendo doble click se arranca nuestro servicio web.
Igual que el paso anterior se nos vuelve a abrir la ventana de 'Run' desde la cual se muestran los logs y podremos finalizar la ejecución del servicio (stop) o volver a ejecutarlo (rerun)
4.- La cuarta y última forma de arrancar nuestro servicio web es la más rudimentaria y menos ágil cuando estamos desarrollando.
Consiste en ejecutar desde la ventana de terminal y dentro del directorio raíz de nuestro proyecto el comando:
./mvnw spring-boot:run
Nuestro servicio web empezará a arrancarse y se mostraran los correspondientes logs en la ventana de 'Terminal'.
En este caso para finalizar el proceso hay que pulsar en dicha ventana las teclas 'Ctrl + C' y teclear 's' cuando se nos pregunte si queremos finalizar el proceso.
Para volver a ejecutar el servicio tendremos que volver a ejecutar el comando.
Conclusión:
Personalmente prefiero cualquiera de las 2 primeras opciones.
Es aconsejable utilizar siempre la misma opción para arrancar y detener el servicio web, ya que si cambiamos de una a otra podemos dejar el servicio en ejecución y al intentar volver a ejecutarlo nos dará error porque ya se está usando el mismo puerto.
Si ya se está acostumbrado a utilizar el Spring Tool Suite igual no es buena idea pasarse al IntelliJ Idea sin tener una licencia (cuestan sobre unos 500 euros al año).
Si ya se está utilizando el IntelliJ Idea Community y lo que quieres es hacer algo con SpringBoot entonces las opciones descritas en este artículo si que pueden serte útiles.
Nos vemos.
A tope codear!!!