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.

Aprende SpringBoot GRATIS y certifícate

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.

Aprende SpringBoot GRATIS online

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.

API Query By Example (QBE)

Spring Boot
Test

Identificadores y relaciones JPA

Spring Boot
Puzzle

Borrar datos de base de datos

Spring Boot
Test

Web y Test Starters

Spring Boot
Puzzle

Métodos find en repositorios

Spring Boot
Test

Controladores Spring MVC

Spring Boot
Código

Inserción de datos

Spring Boot
Test

CRUD Customers Spring MVC + Spring Data JPA

Spring Boot
Proyecto

Backend API REST con Spring Boot

Spring Boot
Proyecto

Controladores Spring REST

Spring Boot
Código

Uso de Spring con Thymeleaf

Spring Boot
Puzzle

API Specification

Spring Boot
Puzzle

Registro de usuarios

Spring Boot
Test

Crear entidades JPA

Spring Boot
Código

Asociaciones en JPA

Spring Boot
Test

Asociaciones de entidades JPA

Spring Boot
Código

Integración con Vue

Spring Boot
Test

Consultas JPQL

Spring Boot
Código

Open API y cómo agregarlo en Spring Boot

Spring Boot
Puzzle

Uso de Controladores REST

Spring Boot
Puzzle

Repositorios reactivos

Spring Boot
Test

Inyección de dependencias

Spring Boot
Test

Introducción a Spring Boot

Spring Boot
Test

CRUD y JPA Repository

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

Operadores Reactivos

Spring Boot
Puzzle

Configuración de Vue

Spring Boot
Puzzle

Entidades JPA

Spring Boot
Test

Integración con Angular

Spring Boot
Test

API Specification

Spring Boot
Test

API Query By Example (QBE)

Spring Boot
Puzzle

Controladores MVC

Spring Boot
Test

Anotaciones y mapeo en JPA

Spring Boot
Puzzle

Consultas JPQL con @Query en Spring Data JPA

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

Consultas JPQL con @Query en Spring Data JPA

Spring Boot
Puzzle

Actualizar datos de base de datos

Spring Boot
Test

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

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

Clientes Resttemplate Y Restclient

Spring Boot

Spring Web

Rxjava En Spring Web

Spring Boot

Spring Web

Crear Entidades Jpa

Spring Boot

Persistencia Spring Data

Asociaciones De Entidades Jpa

Spring Boot

Persistencia Spring Data

Repositorios Spring Data

Spring Boot

Persistencia Spring Data

Métodos Find En Repositorios

Spring Boot

Persistencia Spring Data

Inserción De Datos

Spring Boot

Persistencia Spring Data

Actualizar Datos De Base De Datos

Spring Boot

Persistencia Spring Data

Borrar Datos De Base De Datos

Spring Boot

Persistencia Spring Data

Consultas Jpql Con @Query En Spring Data Jpa

Spring Boot

Persistencia Spring Data

Api Query By Example (Qbe)

Spring Boot

Persistencia Spring Data

Api Specification

Spring Boot

Persistencia Spring Data

Repositorios Reactivos

Spring Boot

Persistencia Spring Data

Introducción E Instalación De Apache Kafka

Spring Boot

Mensajería Asíncrona

Crear Proyecto Con Apache Kafka

Spring Boot

Mensajería Asíncrona

Creación De Producers

Spring Boot

Mensajería Asíncrona

Creación De Consumers

Spring Boot

Mensajería Asíncrona

Kafka Streams En Spring Boot

Spring Boot

Mensajería Asíncrona

Introducción A Spring Webflux

Spring Boot

Reactividad Webflux

Spring Data R2dbc

Spring Boot

Reactividad Webflux

Controlador Rest Reactivo Basado En Anotaciones

Spring Boot

Reactividad Webflux

Controlador Rest Reactivo Funcional

Spring Boot

Reactividad Webflux

Operadores Reactivos Básicos

Spring Boot

Reactividad Webflux

Operadores Reactivos Avanzados

Spring Boot

Reactividad Webflux

Cliente Reactivo Webclient

Spring Boot

Reactividad Webflux

Introducción A Spring Security

Spring Boot

Seguridad Con Spring Security

Seguridad Basada En Formulario En Mvc Con Thymeleaf

Spring Boot

Seguridad Con Spring Security

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

Seguridad Jwt En Api Rest Spring Web

Spring Boot

Seguridad Con Spring Security

Seguridad Jwt En Api Rest Reactiva Spring Webflux

Spring Boot

Seguridad Con Spring Security

Autenticación Y Autorización Con Anotaciones

Spring Boot

Seguridad Con Spring Security

Testing Unitario De Componentes Y Servicios

Spring Boot

Testing Con Spring Test

Testing De Repositorios Spring Data Jpa

Spring Boot

Testing Con Spring Test

Testing Controladores Spring Mvc Con Thymeleaf

Spring Boot

Testing Con Spring Test

Testing Controladores Rest Con Json

Spring Boot

Testing Con Spring Test

Testing De Aplicaciones Reactivas Webflux

Spring Boot

Testing Con Spring Test

Testing De Seguridad Spring Security

Spring Boot

Testing Con Spring Test

Testing Con Apache Kafka

Spring Boot

Testing Con Spring Test

Integración Con Angular

Spring Boot

Integración Frontend

Integración Con React

Spring Boot

Integración Frontend

Integración Con Vue

Spring Boot

Integración Frontend

Accede GRATIS a SpringBoot y certifícate

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