Spring Boot

SpringBoot

Tutorial SpringBoot: Introducción a Spring Boot

Spring Boot introducción: primeros pasos. Aprende los conceptos básicos y da tus primeros pasos con Spring Boot con ejemplos detallados.

Spring Boot es un framework que facilita el desarrollo de aplicaciones Java, automatizando la configuración y reduciendo el tiempo de desarrollo. Provee una forma rápida de construir aplicaciones sin necesidad de una configuración extensa, aprovechando la autoconfiguración y las convenciones sobre la configuración para gestionar las dependencias y la configuración del entorno.

Para comenzar a trabajar con Spring Boot, es importante configurar un entorno de desarrollo adecuado.

Instalación de IntelliJ IDEA Community Edition

Visitar el sitio web oficial de IntelliJ IDEA para descargarlo: https://www.jetbrains.com/idea/download/

Elegir la versión Community Edition, que es gratuita, y hacer clic en el enlace de descarga adecuado para el sistema operativo.

Pantallazo de la página de IntelliJ donde se resalta el botón Download (Descargar) para IntelliJ IDEA Community Edition

Una vez completada la descarga, abrir el archivo descargado para iniciar el proceso de instalación.

Seguir las instrucciones en pantalla, aceptando los términos de la licencia y seleccionando las opciones de instalación deseada.

Con IntelliJ IDEA Community Edition instalado, se está listo para empezar a desarrollar aplicaciones con Spring Boot, aprovechando las herramientas y características que este IDE ofrece para facilitar el desarrollo de software.

Creación de un proyecto Spring Boot

Para crear un nuevo proyecto Spring Boot, se recomienda utilizar la herramienta online start.spring.io, que simplifica la configuración inicial del proyecto.

Acceder a https://start.spring.io en el navegador web.

Configurar las opciones del proyecto:

  • Project: Seleccionar Maven Project.
  • Language: Elegir Java.
  • Spring Boot: Escoger la versión de Spring Boot deseada.
  • Project Metadata: Rellenar los campos con información específica del proyecto:
    • Group: Define el identificador del grupo del proyecto, usualmente utilizado para especificar la organización o equipo desarrollador, siguiendo la convención de nombrado inverso de dominios de internet, por ejemplo, com.empresa.
    • Artifact: Es el nombre del artefacto del proyecto, que suele ser el nombre del proyecto o módulo, utilizado como el identificador del proyecto, por ejemplo, aplicacion-web.
    • Name: Representa el nombre descriptivo del proyecto, que puede contener espacios y ser más legible, como Aplicación Web.
    • Description: Ofrece una breve descripción del proyecto, indicando su propósito o función principal, por ejemplo, Proyecto para gestión de inventarios.
    • Package name: Define la estructura de paquete base para el código fuente, siguiendo las convenciones de nomenclatura de paquetes de Java, como com.empresa.inventario.
  • Packaging: Elegir entre Jar o War, según la preferencia.
  • Java Version: Seleccionar la versión de Java que se va a utilizar.

Añadir las dependencias necesarias para el proyecto. Para una aplicación web básica, se puede buscar y añadir Spring Web.

Pantallazo de la página web Spring Initializr donde se marcan las opciones indicadas previamente y se resalta el botón GENERATE (Generar)

Hacer clic en el botón Generate para descargar el proyecto como un archivo .zip.

Descomprimir el archivo .zip descargado en el directorio deseado.

Con estos pasos, se ha creado un proyecto Spring Boot básico, listo para ser importado en IntelliJ IDEA Community Edition para su desarrollo y ejecución.

Importar y ejecutar en IntelliJ IDEA

Una vez creado el proyecto Spring Boot usando start.spring.io y descomprimido en tu sistema, el siguiente paso es importarlo a IntelliJ IDEA para comenzar con el desarrollo y la ejecución. A continuación, se describe el proceso paso a paso.

Importar el proyecto

  1. Abrir IntelliJ IDEA y seleccionar la opción Open o Import Project en la pantalla de inicio.
  2. Navegar en el sistema de archivos y seleccionar la carpeta del proyecto Spring Boot descomprimido.
  3. IntelliJ IDEA detectará automáticamente que se trata de un proyecto Maven y sugerirá configuraciones adecuadas. Aceptar la configuración por defecto y esperar a que el IDE configure el proyecto.

Ejecutar la aplicación

  1. Una vez importado el proyecto, IntelliJ IDEA resolverá las dependencias y preparará el entorno de desarrollo.
  2. Localizar la clase principal de la aplicación Spring Boot, que tiene la anotación @SpringBootApplication. Esta clase se encuentra generalmente en el directorio src/main/java bajo el paquete base que se especificó durante la creación del proyecto.
  3. Hacer clic derecho sobre la clase principal y seleccionar Run 'nombreDeClase.main()' para iniciar la aplicación.
  4. IntelliJ IDEA compilará y ejecutará la aplicación Spring Boot. Observar la salida en la consola del IDE para verificar que la aplicación se ha iniciado correctamente.

Acceder a la aplicación

  • Con la aplicación en ejecución, abrir un navegador web y navegar a http://localhost:8080 seguido del endpoint específico que se desea acceder, por ejemplo, /saludo si se ha creado un controlador como en el ejemplo de código proporcionado anteriormente.
  • Se debería ver la respuesta del controlador, indicando que la aplicación Spring Boot está funcionando correctamente.

Este proceso muestra cómo importar y ejecutar un proyecto Spring Boot en IntelliJ IDEA Community Edition, facilitando el desarrollo, prueba y depuración de la aplicación en un entorno integrado.

Estructura básica de un proyecto Spring Boot

Un proyecto Spring Boot típico tiene una estructura de directorios y archivos bien definida, que facilita el desarrollo y la organización del código. A continuación, se describen los componentes principales de esta estructura:

src/main/java/: Este directorio contiene el código fuente de la aplicación, incluyendo la clase principal de Spring Boot que inicia la aplicación y los controladores, servicios, y repositorios.

Clase principal de la aplicación (@SpringBootApplication): Es el punto de entrada de la aplicación Spring Boot. Esta clase incluye la anotación @SpringBootApplication, que habilita la autoconfiguración y el escaneo de componentes en el paquete donde se encuentra.

src/main/resources/: Aquí se almacenan los recursos de la aplicación, como archivos de propiedades de configuración (application.properties o application.yml), así como otros recursos como plantillas y archivos estáticos.

pom.xml (para Maven): Este archivo define las dependencias del proyecto y la configuración específica de la construcción. A través de él, Maven gestiona las bibliotecas necesarias y otras tareas de construcción.

Controladores (@RestController): Los controladores manejan las solicitudes entrantes y devuelven respuestas a los clientes. Están anotados con @RestController y mapean las rutas de acceso a los métodos correspondientes.

application.properties o application.yml: Estos archivos de configuración se utilizan para personalizar la configuración de la aplicación, como la configuración del servidor, parámetros de base de datos, y más.

Conclusión

En esta lección se ha proporcionado una introducción a Spring Boot, destacando su capacidad para simplificar el desarrollo de aplicaciones Java mediante la automatización de la configuración y la gestión de dependencias. Se ha aprendido cómo configurar un entorno de desarrollo con IntelliJ IDEA Community Edition, cómo crear un proyecto Spring Boot utilizando start.spring.io, importar y ejecutar este proyecto en IntelliJ, y comprender la estructura básica y componentes principales de un proyecto Spring Boot.

Certifícate en SpringBoot con CertiDevs PLUS

Ejercicios de esta lección Introducción a Spring Boot

Evalúa tus conocimientos de esta lección Introducción a Spring Boot con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Web y Test Starters

Spring Boot
Puzzle

Entidades JPA

Spring Boot
Test

Repositorios reactivos

Spring Boot
Test

Inserción de datos

Spring Boot
Test

Borrar datos de base de datos

Spring Boot
Test

Controladores Spring MVC

Spring Boot
Código

Backend API REST con Spring Boot

Spring Boot
Proyecto

Operadores Reactivos

Spring Boot
Puzzle

Controladores Spring REST

Spring Boot
Código

Uso de Spring con Thymeleaf

Spring Boot
Puzzle

Crear entidades JPA

Spring Boot
Código

Registro de usuarios

Spring Boot
Test

CRUD y JPA Repository

Spring Boot
Puzzle

Anotaciones y mapeo en JPA

Spring Boot
Puzzle

Integración con Vue

Spring Boot
Test

Consultas JPQL con @Query en Spring Data JPA

Spring Boot
Test

Open API y cómo agregarlo en Spring Boot

Spring Boot
Puzzle

Uso de Controladores REST

Spring Boot
Puzzle

API Specification

Spring Boot
Puzzle

Inyección de dependencias

Spring Boot
Test

Introducción a Spring Boot

Spring Boot
Test

Consultas JPQL con @Query en Spring Data JPA

Spring Boot
Puzzle

API Query By Example (QBE)

Spring Boot
Puzzle

Inyección de dependencias

Spring Boot
Código

Vista en Spring MVC con Thymeleaf

Spring Boot
Test

Servicios en Spring

Spring Boot
Código

Configuración de Vue

Spring Boot
Puzzle

Integración con Angular

Spring Boot
Test

API Query By Example (QBE)

Spring Boot
Test

API Specification

Spring Boot
Test

Controladores MVC

Spring Boot
Test

Métodos find en repositorios

Spring Boot
Test

Repositorios Spring Data

Spring Boot
Test

Inyección de dependencias

Spring Boot
Puzzle

Data JPA y Mail Starters

Spring Boot
Test

Configuración de Angular

Spring Boot
Puzzle

Controladores Spring REST

Spring Boot
Test

Configuración de Controladores MVC

Spring Boot
Puzzle

Asociaciones de entidades JPA

Spring Boot
Código

Actualizar datos de base de datos

Spring Boot
Test

Identificadores y relaciones JPA

Spring Boot
Puzzle

Verificar token JWT en peticiones

Spring Boot
Test

Login de usuarios

Spring Boot
Test

Integración con React

Spring Boot
Test

Configuración de React

Spring Boot
Puzzle

Asociaciones en JPA

Spring Boot
Test

Consultas JPQL

Spring Boot
Código

Todas las lecciones de SpringBoot

Accede a todas las lecciones de SpringBoot y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Introducción A Spring Boot

Spring Boot

Introducción Y Entorno

Spring Boot Starters

Spring Boot

Introducción Y Entorno

Inyección De Dependencias

Spring Boot

Introducción Y Entorno

Controladores Spring Mvc

Spring Boot

Spring Web

Vista En Spring Mvc Con Thymeleaf

Spring Boot

Spring Web

Controladores Spring Rest

Spring Boot

Spring Web

Open Api Y Cómo Agregarlo En Spring Boot

Spring Boot

Spring Web

Servicios En Spring

Spring Boot

Spring Web

Crear Entidades Jpa

Spring Boot

Persistencia Con Spring Data

Asociaciones De Entidades Jpa

Spring Boot

Persistencia Con Spring Data

Repositorios Spring Data

Spring Boot

Persistencia Con Spring Data

Métodos Find En Repositorios

Spring Boot

Persistencia Con Spring Data

Inserción De Datos

Spring Boot

Persistencia Con Spring Data

Actualizar Datos De Base De Datos

Spring Boot

Persistencia Con Spring Data

Borrar Datos De Base De Datos

Spring Boot

Persistencia Con Spring Data

Consultas Jpql Con @Query En Spring Data Jpa

Spring Boot

Persistencia Con Spring Data

Api Query By Example (Qbe)

Spring Boot

Persistencia Con Spring Data

Repositorios Reactivos

Spring Boot

Persistencia Con Spring Data

Api Specification

Spring Boot

Persistencia Con Spring Data

Integración Con React

Spring Boot

Integración Frontend

Integración Con Vue

Spring Boot

Integración Frontend

Integración Con Angular

Spring Boot

Integración Frontend

Registro De Usuarios

Spring Boot

Seguridad Con Spring Security

Login De Usuarios

Spring Boot

Seguridad Con Spring Security

Verificar Token Jwt En Peticiones

Spring Boot

Seguridad Con Spring Security

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender qué es Spring Boot y su importancia en el desarrollo de aplicaciones Java
  2. Instalar y configurar IntelliJ IDEA Community Edition como IDE para el desarrollo con Spring Boot
  3. Crear un nuevo proyecto Spring Boot utilizando start.spring.io con Maven como sistema de gestión de proyectos
  4. Importar y ejecutar un proyecto Spring Boot en IntelliJ IDEA Community Edition
  5. Entender la estructura básica de un proyecto Spring Boot y la función de sus principales componentes