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ícateSpring 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.
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
.
- 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,
- Packaging: Elegir entre
Jar
oWar
, 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
.
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
- Abrir IntelliJ IDEA y seleccionar la opción Open o Import Project en la pantalla de inicio.
- Navegar en el sistema de archivos y seleccionar la carpeta del proyecto Spring Boot descomprimido.
- 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
- Una vez importado el proyecto, IntelliJ IDEA resolverá las dependencias y preparará el entorno de desarrollo.
- Localizar la clase principal de la aplicación Spring Boot, que tiene la anotación
@SpringBootApplication
. Esta clase se encuentra generalmente en el directoriosrc/main/java
bajo el paquete base que se especificó durante la creación del proyecto. - Hacer clic derecho sobre la clase principal y seleccionar Run 'nombreDeClase.main()' para iniciar la aplicación.
- 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
oapplication.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
oapplication.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.
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)
Identificadores y relaciones JPA
Borrar datos de base de datos
Web y Test Starters
Métodos find en repositorios
Controladores Spring MVC
Inserción de datos
CRUD Customers Spring MVC + Spring Data JPA
Backend API REST con Spring Boot
Controladores Spring REST
Uso de Spring con Thymeleaf
API Specification
Registro de usuarios
Crear entidades JPA
Asociaciones en JPA
Asociaciones de entidades JPA
Integración con Vue
Consultas JPQL
Open API y cómo agregarlo en Spring Boot
Uso de Controladores REST
Repositorios reactivos
Inyección de dependencias
Introducción a Spring Boot
CRUD y JPA Repository
Inyección de dependencias
Vista en Spring MVC con Thymeleaf
Servicios en Spring
Operadores Reactivos
Configuración de Vue
Entidades JPA
Integración con Angular
API Specification
API Query By Example (QBE)
Controladores MVC
Anotaciones y mapeo en JPA
Consultas JPQL con @Query en Spring Data JPA
Repositorios Spring Data
Inyección de dependencias
Data JPA y Mail Starters
Configuración de Angular
Controladores Spring REST
Configuración de Controladores MVC
Consultas JPQL con @Query en Spring Data JPA
Actualizar datos de base de datos
Verificar token JWT en peticiones
Login de usuarios
Integración con React
Configuración de React
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
Introducción Y Entorno
Spring Boot Starters
Introducción Y Entorno
Inyección De Dependencias
Introducción Y Entorno
Controladores Spring Mvc
Spring Web
Vista En Spring Mvc Con Thymeleaf
Spring Web
Controladores Spring Rest
Spring Web
Open Api Y Cómo Agregarlo En Spring Boot
Spring Web
Servicios En Spring
Spring Web
Clientes Resttemplate Y Restclient
Spring Web
Rxjava En Spring Web
Spring Web
Crear Entidades Jpa
Persistencia Spring Data
Asociaciones De Entidades Jpa
Persistencia Spring Data
Repositorios Spring Data
Persistencia Spring Data
Métodos Find En Repositorios
Persistencia Spring Data
Inserción De Datos
Persistencia Spring Data
Actualizar Datos De Base De Datos
Persistencia Spring Data
Borrar Datos De Base De Datos
Persistencia Spring Data
Consultas Jpql Con @Query En Spring Data Jpa
Persistencia Spring Data
Api Query By Example (Qbe)
Persistencia Spring Data
Api Specification
Persistencia Spring Data
Repositorios Reactivos
Persistencia Spring Data
Introducción E Instalación De Apache Kafka
Mensajería Asíncrona
Crear Proyecto Con Apache Kafka
Mensajería Asíncrona
Creación De Producers
Mensajería Asíncrona
Creación De Consumers
Mensajería Asíncrona
Kafka Streams En Spring Boot
Mensajería Asíncrona
Introducción A Spring Webflux
Reactividad Webflux
Spring Data R2dbc
Reactividad Webflux
Controlador Rest Reactivo Basado En Anotaciones
Reactividad Webflux
Controlador Rest Reactivo Funcional
Reactividad Webflux
Operadores Reactivos Básicos
Reactividad Webflux
Operadores Reactivos Avanzados
Reactividad Webflux
Cliente Reactivo Webclient
Reactividad Webflux
Introducción A Spring Security
Seguridad Con Spring Security
Seguridad Basada En Formulario En Mvc Con Thymeleaf
Seguridad Con Spring Security
Registro De Usuarios
Seguridad Con Spring Security
Login De Usuarios
Seguridad Con Spring Security
Verificar Token Jwt En Peticiones
Seguridad Con Spring Security
Seguridad Jwt En Api Rest Spring Web
Seguridad Con Spring Security
Seguridad Jwt En Api Rest Reactiva Spring Webflux
Seguridad Con Spring Security
Autenticación Y Autorización Con Anotaciones
Seguridad Con Spring Security
Testing Unitario De Componentes Y Servicios
Testing Con Spring Test
Testing De Repositorios Spring Data Jpa
Testing Con Spring Test
Testing Controladores Spring Mvc Con Thymeleaf
Testing Con Spring Test
Testing Controladores Rest Con Json
Testing Con Spring Test
Testing De Aplicaciones Reactivas Webflux
Testing Con Spring Test
Testing De Seguridad Spring Security
Testing Con Spring Test
Testing Con Apache Kafka
Testing Con Spring Test
Integración Con Angular
Integración Frontend
Integración Con React
Integración Frontend
Integración Con Vue
Integración Frontend
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender qué es Spring Boot y su importancia en el desarrollo de aplicaciones Java
- Instalar y configurar IntelliJ IDEA Community Edition como IDE para el desarrollo con Spring Boot
- Crear un nuevo proyecto Spring Boot utilizando start.spring.io con Maven como sistema de gestión de proyectos
- Importar y ejecutar un proyecto Spring Boot en IntelliJ IDEA Community Edition
- Entender la estructura básica de un proyecto Spring Boot y la función de sus principales componentes