Antes de empezar

1

Pasos para aprender Java Spring

2

Instalación de ambiente de desarrollo: Windows

3

¿Java sigue siendo gratuito?

4

Instalación de ambiente de desarrollo: Linux Ubuntu

5

Instalación de ambiente de desarrollo: macOS

Introducción a Spring boot

6

¿Qué es y qué usaremos de Spring?

7

Conocer qué es una aplicación autocontenida

8

Crear nuestra aplicación con Spring Initializr

9

Hola mundo con Spring Boot

10

Configurar Spring Boot

11

Crear la estructura del proyecto

Spring Data

12

¿Qué es JPA?

13

Conocer qué es Spring Data

14

Conectar la base de datos a nuestra aplicación

15

Mapear las tablas como clases

16

Crear Entity cuando su clave primaria es compuesta

17

Mapear relaciones entre clases

18

Usar la interface CrudRepository

19

Query Methods

Construyendo nuestra API

20

Implementar la anotación @Repository

21

¿Qué es el patrón Data Mapper y qué resuelve?

22

Orientar nuestra API al dominio con MapStruct

23

Orientar nuestro repositorio a términos del dominio

24

Inyección de dependencias

25

Implementar la anotación @Service

26

Implementar la anotación @RestController

27

Exponer nuestra API

Mejorando nuestra API

28

Controlar las respuestas HTTP

29

Crear el dominio de compras

30

Mapear el dominio de compras

31

Crear el repositorio de compras

32

Probando nuestros servicios de compras

33

Documentar nuestra API con Swagger

Spring Security

34

Configurar la seguridad de nuestra API con Spring Security

35

Generar un JWT

36

Autenticación con JWT

37

Autorización con JWT

Despliegue de nuestra aplicación

38

Desplegar nuestra API desde la ventana de comandos

39

Desplegar nuestra base de datos con Heroku

40

Desplegar nuestra API con Heroku

41

Conclusiones y despedida del curso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Java Spring

Curso de Java Spring

Alejandro Ramírez

Alejandro Ramírez

Crear nuestra aplicación con Spring Initializr

8/41
Recursos

Aportes 43

Preguntas 19

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Me gusta como lo explica y lo va haciendo paso a paso, me motiva mucho, por ahora me está gustando.

Motivado con el curso e interesante el recurso start.spring.io

Hola a todos, en este link lo hacen como lo explica el profesor y tambien como lo puedes hacer desde INTELIJ IDEA.
https://www.adictosaltrabajo.com/2016/07/29/arranca-con-spring-initializr/

Qué es Spring Initializr?

https://start.spring.io/

  • Sitio oficial para generar un proyecto de Spring Boot
  • En poco tiempo y a nuestra medida
  • Con todo lo que necesitamos para empezar

Project:

  • Los projectos Maven gestionan las dependencias con archivos XML

  • Los archivos Gradle son escritos en Groovy y permite crear tareas que se pueden ejecutar al momento de hacer despliegue o integración continua

  • Utilizar la version estable de spring boot y llenar los metadatos

    • Spring Web: permite genera APIs rest utilizando Apache Tomcat como servidor por defecto
    • build.gradle: Es donde etsta escrita toda la configuración del proyecto (plugins, version de Java, dependencias, software para pruebas etc.)
    • Carpeta gradle: Archivos necesarios para que gradle funcione
    • @SpringBootApplication: indica la clase que gestiona la aplicación

También se puede crear el proyecto desde el IDE

Intellij
Eclipse

Chicos, para que no tengan problemas con la clase 31, descarguen el proyecto con una versión inferior a la 3 de springboot, para la fecha en que escribo este comentario, existe la versión 3.0 y como secundaria estable la 2.7.6

El porqué se debe a que la versión 3 de Spring Boot incorpora Jakarta en vez de Javax en sus Importaciones de persistencia, durante la clase 31, estarán implementando Swagger, y las importaciones que usa el Instructor aún no tienen una versión adaptada a Jakarta por lo que sencillamente no les va a funcionar.

Ahórrense dolores de cabeza, y no se vayan por la última versión de Spring Boot, en el momento que haya actualizaciones importantes en la forma de trabajar de Spring lo más seguro es que actualicen este curso o creen uno nuevo

**
Mi configuración:
**

Enlace acá

  • Maven
  • Spring Web
  • Spring Security
  • Spring Data JPA
  • H2 Database
  • Lombok
  • Spring Boot DevTools
  • Validation

De momento todo marcha perfecto!

Java me parece un lenguaje magnífico, el unico recelo que le tengo es que la comunidad me da a que le encanta quedarse en cosas “viejitas” (contratio a comunidades como la de Python y JavaScript), como por ejemplo que el uso de XML con Maven sigue siendo más popular que Gradle. Qué bueno que este profesor tiene la mente abierta y nos hará utilizar Gradle!!

Bueno…ahora si… a programar … 😃

Solo un detalle, se menciona que Java 8 quiza puede ser obsoleto pero sin embargo el OpenJdk 8 tiene más soporte que el OpenJdk 11.

Recomiendo agregar la dependencia de “Spring Boot DevTools” es un gran plus

No sé si en la versión Community se pueda, pero en IntelliJ Ultimate se puede crear el proyecto desde el mismo IDE

yo uso spring tool suite 4

Más acerca de los metadatos del proyecto:

Project Metadata: It contains information related to the project, such as Group, Artifact, etc. Group denotes the package name; Artifact denotes the Application name. The default Group name is com.example, and the default Artifact name is demo.

Fuente: JavaTpoint-Spring Initializr

Spring Initializr, permite crear nuestra aplicacion agregando las dependencias que necesitamos para nuestro proyecto.
/start.spring.io
Maven gestiona las dependencias con archivos xml, Gradle esta escrito con Gloovy.
la version estable es la 2.3.1.
version de Java 11.
dependencias a incluir: spring web

SIGAMOS AVANZANDO ESTA BUENO EL CURSO

la configuración que hemos creado en Spring Initializr la podemos compartir con el boton de Share. La configuración que se comparta, puede ser utilizada para compartir a otros miembros del equipo.

Aqui comparto mi configuración por si a alguien le sirve. Les abrira una página con los datos cargados.

Saludos.

Configuracion

La explicación es excelente

Continuemos…

super la explicación gracias

vamos paso a paso.

aggg que rabia que este curso sea tan antiguo pondre todo en la version mas estable y punto

exelente clase

Solo quiero detallar el pequeño comentario de la versión 8 es más obsoleta, pero por lejos sigue siendo la versión más usada al día de hoy jaja

Me gustaría que todos los cursos usen dark theme

Actualmente estoy usando Java 17 y Spring Boot 2.7.3 sin ningún problema.

Excelente clase super bien explicada y me motiva por que he visto y leido un poco acerca de groovy, de grails y de spring y todo lo estoy viendo aqui. Felicitaciones

Explica todo detalladamente, me gusta el curso!

En caso de que alguien tenga la versión Ultimate de IntelliJ, puede acceder directamente desde este a sprint initializr para crear y configurar el proyecto de sprint.

Esto también es pregunta
Es realmente necesario abrir el projecto en IntelliJ desde el archivo build.gradle?
En mi caso con solo arrastrar la carpeta al ejecutable de IntelliJ funcionó

(varias formas de abrir el mismo proyecto)

Maven: Archivos XML
Gradle: Groovy (CI, CD, Task | Pipelines)

Hola a todos! Si tienen problemas para escuchar el audio a partir del minuto 5:28 de este video, en mi caso lo pude solucionar desactivando el “AdBlock”.

jajaja el 8 obsoleto jajaja

También se puede trabajar con el IDE de Spring Tools, basado en eclipse https://spring.io/tools

este curso lo sacaron hace poco??

Que tan importante es no cambiar la versión durante el desarrollo?

Genial !! La estructura del proyecto me recuerda mucho a la estructura inicial de un proyecto creado desde Android Studio 😃

creación de proyecto:

Excelente explicación, es clara y precisa.

Alejandro Ramírez sugería que la versión estable al momento de la creación del video era 2.3.1, a la fecha de hoy 02/01/2021, ¿Cuál es la versión de Spring Boot estable o recomendada para este tipo de proyectos autocontenidos?
2.4.1 o 2.3.7 ?

es forzoso utilizar spring initializr?

donde esta esa opcion