Antes de empezar

1

Pasos para aprender Java Spring

2

¿Java sigue siendo gratuito?

3

Instalación de ambiente de desarrollo: Linux Ubuntu

4

Instalación de ambiente de desarrollo: macOS

5

Instalación de ambiente de desarrollo: Windows

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

Hola mundo con Spring Boot

9/41
Recursos

Aportes 38

Preguntas 32

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Todo perfecto, tan sólo tuve que cambiar el JDK de Java desde IJ (Add SDK -> JDK…) y seleccionar la carpeta donde tenía instalado el OpenJDK que descargamos previamente (por defecto estará en C:\Program Files\AdoptOpenJDK\jdk-11.0.8.10-hotspot\ ¡ánimo a todos/as!

Es buena practica usar otro puerto distinto al 8080 pues este hay veces pone problemas segun lo que tengas instalado y ejecutando en tu maquina
Y se puede cambiar en el application.properties con server.port=8091

Tal vez le ayude a alguien:

No podia compilar gradle porque tenia java 8 en intelliJ, aqui les comparto este post de stack…

tenia este error (Execution failed for task ‘:compileJava’. > Could not target platform: ‘Java SE 11’ using tool chain: ‘JDK 8 (1.8)’. * Try:)

https://stackoverflow.com/questions/43995886/gradle-could-not-target-platform-java-se-8-using-tool-chain-jdk-7-1-7

Sigamos aprendiendo

si hubiese visto esto hace meses en las practicas, no habria llorado tanto…
muy buen video!

Gente, compañeros, como quieran llamarse 😄

Si el proyecto no les ejecuta y les suelta este error ‘Invalid target released: 11’ significa que su variable de entorno está ejecutando otra versión de JAVA
Deben dirigirse al entorno de variables de sistema y cambiar la ruta del java-versionactual por el java-11.jdk

Alguien sabe, cómo logró colocar el emoji?

Si tiene algun problema como que no les aparezca el run o al darle run de error pueden intentar editando estas dos partes en los module settings

  • En project > Project SDK, seleccionar el SDK que contiene la version que instalamos
  • Hacer lo mismo en Modules > Dependencies

Esta bien toda la explicación, pero es demasiada “vuelta” (como le decimos aquí en Colombia), crear un proyecto con IntelliJ Idea. No entiendo pro que siendo Spring tools el ID mas usado y mas popular para desarrollar con el framweork spring, se empecinan en intelliJ para sus cursos de Java y aun mas en este curso. Mal por este lado!

Si llegan a tener algún problema levantando la aplicación (cuando le dan a Run) y muestra el siguiente error:

Description:

Web server failed to start. Port 8080 was already in use.

agregen en el archivo main/java/resources/application.properties otro puerto (también podrían identificar qué proceso tiene ocupado el puerto por defecto 8080 y bajarlo, pero podría ser un proceso importante):
Ejemplo:

server.port=4444

ahora la ruta (URL) que deben consultar es:

http://localhost:4444/saludar/hola

Por si ocupan:

localhost:8080/saludar/hola

Ojala hubiera tenido jefes o compañeros de trabajo que explicarán así de bien.

Siempre me emocionan los “Hola mundo” =)

para agregar soporte para emoji el plugin es: plugin intelij

Muy claro todo hasta el momento, se ve el nivel 😄

Quedo a la primera.

En Spring se utiliza el patrón MVC (Model View Controller), es decir, las clases se clasifican en aquellas que van a ser utilizadas para instanciar objetos (Model), aquellas que van a ser utilizadas para la llamada de métodos estáticos relacionados a la interfaz (View) y aquellas que van a ser utilizadas para servicios (Controller)

Hola mundo con Spring Boot


1- descargar el proyecto generado en el navegador
2- abrir la carpeta en una terminal e iniciar git con git init
3- agregar al repo $git remote add origin https://github.com/TuCuentGit/
4- abrimos IntelliJ IDEA e importamos el archivo build.grade del projecto maven, nos preguntara si queremos abrirlo como archivo o como proyecto y le damos que le damos que como proyecto

  • Si desconfiamos que sea un archivo malicioso podemos abrir a modo de prueba

5- al abrir empezara a ejecutar toda la configuración establecida y resolviendo las dependencias del proyecto
6 - verificar que estamos trabajando con java 11
- Click derecho al proyecto-> Open Module Settings -> vrificar que el project SDK sea la version 11 de java / -> Apply
- Dentro de Modules -> excluir archivos .idea y gradle -> Apply. Esto nos servirá para visualizar sólo aquellos archivos en los que vamos a trabajar
7- Crear un nuevo controlado dentro de la carpeta com.PlatziMarket -> click derecho -> java class -> HolaMundoController(si nos sale la ventana de agregar el archivo a git hacemos click en add)

8- Crear un metodo que retorne un string como saludo y agregar las java annotation a la clase @RestController y @RequestMapping("/saludar")
Y al método @GetMapping("/hola")

7- Ejecutar la aplicación main, en este momento se compilaran las clases y spring creara un contenedor de aplicaciones para que la aplicacion pueda funcionar
5seg le tomo a spring configurar, gestionar y crear un servidor de aplicaciones para que la aplicacion se ejecute

  • Las aplicaciones de spring boot se ejecutan por defecto en el puerto 8080
    localhost:8080/saludar/hola

Excelente profesor!!! ojalá curso de reactividad con Spring, explica muy bien.

A alguien le arrojó este error Could not target platform: ‘Java SE 11’ using tool chain: ‘JDK 8 (1.8)’. ?

Si quieren saber de donde sacar el emoji, les dejo este link.

https://emojipedia.org/rocket/

Porque excluye los archivos gradle y .idea?

@RestController
@RequestMapping("/saludar")
public class HolaMundoController {

    @GetMapping("/hola")
    public String saludar(){
        return "Nunca pares de aprender.";
    }
}

Hola a todos,
A mi me sale este mensaje, cuando intenta descargar las librerias, uso windows
¿como lo puedo resolver?

Error adding module to project: Key in.oneton.idea.spring.assistant.plugin.suggestion.service.SuggestionService duplicated; existingAdapter: ServiceAdapter(descriptor=ServiceDescriptor(interface=‘in.oneton.idea.spring.assistant.plugin.suggestion.service.SuggestionService’, serviceImplementation=‘in.oneton.idea.spring.assistant.plugin.suggestion.service.SuggestionServiceImpl’, testServiceImplementation=‘null’, headlessImplementation=‘null’, overrides=false, configurationSchemaKey=‘null’, preload=FALSE, client=null), pluginDescriptor=PluginDescriptor(name=Spring Boot Assistant, id=dev.flikas.idea.spring.boot.assistant.plugin, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\IdeaIC2022.1\plugins\idea-spring-boot-assistant, version=0.13.0, package=null, isBundled=false)); descriptor: in.oneton.idea.spring.assistant.plugin.suggestion.service.SuggestionServiceImpl; app: Application (containerState=PRE_INIT) ; current plugin: dev.eltonsandre.intellij.spring.assistant.plugin

Para los que tienen el error de compileJava de gradle, yo lo solucione así:

  • settings(tuerca superior derecha)
  • Build, Execution, Deployment
  • Build Tools
  • Gradle
  • y en Gradle JVM: seleccionan la version 11 temurin en mi caso

Yo habia inicializado el proyecto con java 17, pero quise cambiar a java 11. Necesite realizar un paso mas:
Editar build.gradle file:
sourceCompatibility = {version java you want}

Profe su nombre en Platzi está mal, dice Alejandro, y usted es Alejo jaja. Saludos y muy buena la clase. 👌

Estoy siguiendo el curso desde VSC, si ya han seguido la ruta de java en platzi solo hay que instalar la extension “Spring Boot Extension Pack”

Estoy trabajando en Windows pero no me muestra la opción de crear una nueva clase en com.platzi.market

Por si a alguien mas le pasa lo mismo:
No podía compilar el proyecto, me arrojaba el siguiente error:

java.io.FileNotFoundException: C:\Users\user\Documents\platzimarket\build\tmp\compileJava\source-classes-mapping.txt (Acceso denegado)

Al parecer, no es problema del JDK de Java como creía, si no de gradle, lo solucione usando una versión anterior, para hacerlo tienes que ir a la carpeta de gradle y en el archivo gradle-wrapper.properties remplazar la version que esta usando:

n.n no me sale la opcion de run

Tenía un error “Unnecessarily replacing a task that does not exist is not supported” que me pasó por utilizar una versión antigua de IntelliJ, lo digo por si a alguien le sale lo mismo. Basta con actualizar su IntelliJ a la última versión. Saludos.

Buenas noches,
Al tener ya descargado Platzi-market y al darle click derecho no me aparece la opción Nuevo terminal en la carpeta

[org.gradle.internal.buildevents.BuildExceptionReporter]
Execution failed for task ‘:MarketApplication.main()’.

Process ‘command ‘C:/Program Files/AdoptOpenJDK/jdk-11.0.10.9-hotspot/bin/java.exe’’ finished with non-zero exit value 1 alguien sabe como se soluciona este error? porfa gracias!!

Presente el siguiente error:
Execution failed for task ‘:compileJava’. > Could not target platform: ‘Java SE 11’ using tool chain: ‘JDK 8 (1.8)’…
Pero lo solucione realizando el cambio del java en la siguiente ruta del IntellijIDEA:

  1. Navigate to: File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle
  2. Gradle JVM: change to version 11
  3. Re-run the gradle task

Me quede ahi para el tema de buenas practicas en git con la terminal. o cmd

Excelente!! todo 👌 hasta el momento.

Perfecto, es importante tomar el curso de Git y GitHub por si no sabemos usar el versionamiento, con ese curso no tendrán problema, muy sugerido, el master es Freddy, es un mega fregón con todo respeto 😉