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: 鈥楯ava SE 11鈥 using tool chain: 鈥楯DK 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 鈥業nvalid 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 鈥渧uelta鈥 (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 鈥淗ola 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: 鈥楯ava SE 11鈥 using tool chain: 鈥楯DK 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=鈥榠n.oneton.idea.spring.assistant.plugin.suggestion.service.SuggestionService鈥, serviceImplementation=鈥榠n.oneton.idea.spring.assistant.plugin.suggestion.service.SuggestionServiceImpl鈥, testServiceImplementation=鈥榥ull鈥, headlessImplementation=鈥榥ull鈥, overrides=false, configurationSchemaKey=鈥榥ull鈥, 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 鈥淪pring 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 鈥淯nnecessarily 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 鈥榗ommand 鈥楥:/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: 鈥楯ava SE 11鈥 using tool chain: 鈥楯DK 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 馃槈