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

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

1D
7H
13M
11S
Curso de Java Spring

Curso de Java Spring

Alejandro Ram铆rez

Alejandro Ram铆rez

Instalaci贸n de ambiente de desarrollo: Windows

2/41

Lectura

驴Qu茅 vas a necesitar?

imagen 1.jpg

Para este curso vas a ocupar cuatro herramientas:

  • El OpenJDK que ya vimos en la clase pasada y que nos dar谩 todo lo necesario para construir aplicaciones usando Java.

  • El IDE que usaremos en el curso ser谩 IntelliJ IDEA, la versi贸n ser谩 la Community Edition que se acomoda sin problemas a nuestras necesidades.

  • PostgreSQL ser谩 la base de datos encargada de gestionar toda la informaci贸n que ser谩 expuesta en la API. M谩s adelante vamos a configurarla y a configurar un set de datos inicial. Si a煤n no lo conoces o no manejas bases de datos relacionales, te recomiendo que visites nuestro curso en platzi.com/postgresql.

  • Postman, es un cliente donde vamos a probar de manera sencilla todos los servicios expuestos de nuestra API antes de publicarla. Si quieres aprender m谩s sobre esta herramienta te recomiendo que te pases por nuestro curso en platzi.com/postman.


Instalaci贸n de ambiente de desarrollo en Windows

Para instalar las herramientas que vamos a utilizar en este curso para el sistema operativo Windows debemos seguir los siguientes pasos:

Java OpenJDK

  1. Ir a la p谩gina adoptopenjdk.net, la cual es una iniciativa que tiene como prop贸sito facilitar la difusi贸n e instalaci贸n del OpenJDK.

  2. Selecciona la versi贸n OpenJDK 11 (LTS) y la JVM HotSpot como se ve en la imagen, luego da clic en el bot贸n azul para descargar.

win1.jpg
  1. Una vez termine la descarga del archivo .msi debes dar doble clic en dicho archivo y aparecer谩 el instalador de nuestra OpenJDK:
    win2.jpg

  2. En la siguiente secci贸n debes aceptar los t茅rminos del Contrato de licencia y luego dar clic en Siguiente:
    win3.jpg

  3. En la secci贸n de personalizaci贸n de la instalaci贸n debes verificar que las opciones 鈥淎帽adir al PATH鈥, 鈥淎sociar .jar鈥 y 鈥淓stablecer la variable JAVA_HOME鈥 est茅n seleccionadas. Luego das clic en Siguiente:

win4.jpg
  1. Ahora, solo debes dar clic en el bot贸n 鈥淚nstalar鈥 y esperar a que el proceso termine:

win5.jpg
win6.jpg

  1. Una vez este proceso termine, solo debes dar clic en el bot贸n Finalizar:

win7.jpg
8. Para verificar si la instalaci贸n del OpenJDK se realiz贸 correctamente, puedes ejecutar el comando java -version en tu consola cmd y ver谩s lo siguiente en pantalla:

win8.jpg

IntelliJ IDEA

  1. Ir al sitio web oficial de descarga de IntelliJ IDEA: jetbrains.com/idea/download

  2. Da clic en Descargar en la versi贸n Community, que es la versi贸n gratuita y que para nuestras necesidades se ajusta completamente:
    win9.jpg

  3. Una vez termine la descarga del archivo .exe debes dar doble clic en dicho archivo y aparecer谩 el instalador de nuestro IDE:
    win10.jpg

  4. En la siguiente secci贸n debes elegir la ruta donde se instalar谩 el IntelliJ IDEA, te recomiendo que dejes la ubicaci贸n por defecto:

win11.jpg
  1. En la secci贸n de opciones de instalaci贸n te recomiendo que habilites la creaci贸n de un acceso directo en el escritorio. Tambi茅n que selecciones la opci贸n 鈥淎dd 鈥極pen Folder as Project鈥欌 para que puedas abrir directamente una carpeta como un proyecto en IntelliJ IDEA; y por 煤ltimo, que selecciones la asociaci贸n a archivos .java para que se abran por defecto en nuestro IDE.
win12.jpg
  1. Ahora, le das nombre a la carpeta en el men煤 de inicio; nuevamente te recomiendo que dejes el nombre por defecto que ofrece el instalador:
win13.jpg
  1. Ahora, esperamos a que el instalador termine el proceso:
    win14.jpg

  2. Una vez terminada la instalaci贸n puedes abrir directamente el IDE o cerrar el instalador y abrirlo manualmente.

win15.jpg

PostgreSQL

  1. Lo primero ser谩 ir al sitio oficial de descarga de PostgreSQL en https://www.enterprisedb.com/downloads/postgres-postgresql-downloads y selecciona el sistema operativo Windows x86-64 y la versi贸n 11.9:
    win16.jpg

  2. Una vez termine la descarga del archivo .exe debes dar doble clic en dicho archivo y aparecer谩 el instalador de nuestra base de datos:
    win17.jpg

  3. En la primer secci贸n te pedir谩 la ruta de instalaci贸n de PostgreSQL, te recomiendo que dejes la que te sugiere por defecto:
    win18.jpg

  4. En la siguiente secci贸n debes seleccionar los componentes a instalar de PostreSQL. Te recomiendo que selecciones todos excepto Stack Builder, que es algo que no necesitamos para desplegar nuestra base de datos.

win19.jpg
  1. Ahora te encontrar谩s una secci贸n donde debes ingresar la ruta donde estar谩n los datos de las bases de datos de PostgreSQL:
win20.jpg
  1. A continuaci贸n debes ingresar una contrase帽a para el superuser postgres que tendr谩 acceso de administrador a PostgreSQL:

win21.jpg
7. Luego debes ingresar el puerto por el cual ser谩 publicado el servicio de PostgreSQL, te recomiendo que si no lo est谩s usando, dejes el que te sugiere por defecto:

win22.jpg
  1. Por 煤ltimo, debes seleccionar la configuraci贸n regional, por defecto la instalaci贸n usar谩 la configuraci贸n de tu computador:
    win23.jpg

Se te mostrar谩 un resumen de todo lo elegido a trav茅s del instalador y podr谩s proceder a instalar el motor de base de datos:
win24.jpg
win25.jpg

  1. Una vez finalizada esta operaci贸n, aparecer谩 un mensaje con el resultado de la instalaci贸n, puedes dar clic en Terminar y ya est谩 todo listo para que uses la base de datos:
    win26.jpg

Postman

  1. Lo primero ser谩 ir al sitio de descargas de Postman en postman.com/downloads, el sitio autom谩ticamente detectar谩 el sistema operativo que uses y con darle clic al bot贸n 鈥淒escargar鈥 iniciar谩 la descarga del instalador:
    win27.jpg

  2. Una vez termine la descarga del archivo .exe debes dar doble clic en dicho archivo y aparecer谩 el instalador de Postman que se ejecuta autom谩ticamente y hace todo lo necesario para usar la aplicaci贸n:
    win28.jpg

  3. Una vez este proceso termine se abrir谩 Postman y ya puedes empezar a utilizarlo:

win29.jpg

Aportes 32

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Espero sea de utilidad un docker-compose con postgres y pgadmin:

version: "3.7"
services:
    db:
        image: postgres:12.2
        restart: always
        environment:
            POSTGRES_DB: postgres
            POSTGRES_USER: admin
            POSTGRES_PASSWORD: secret
            PGDATA: /var/lib/postgresql/data
        volumes:
            - db-data:/var/lib/postgresql/data
        ports:
        - "5432:5432"
    pgadmin:
        image: dpage/pgadmin4:4.18
        restart: always
        environment:
            PGADMIN_DEFAULT_EMAIL: admin@linuxhint.com
            PGADMIN_DEFAULT_PASSWORD: secret
            PGADMIN_LISTEN_PORT: 80
        ports:
            - "8080:80"
        volumes:
            - pgadmin-data:/var/lib/pgadmin
        links:
            - "db:pgsql-server"
volumes:
    db-data:
    pgadmin-data:

Para los estudiantes, Pueden tener Licencia Full de todos los productos de JetBrains
Y podrian tener el intellij Full

https://www.jetbrains.com/es-es/community/education/#students

Hola chicos, hace poco parece ser que AdoptOpenJDK se descarga a traves de la pagina
https://adoptium.net/es/temurin/releases
Una vez dentro simplemente seleccionais vuestro sistema operativo, la arquitectura, el tipo de paquete y la versi贸n, recordad que es la 11, viene por defecto la 17 que es la ultima.
Un saludo y nunca par茅is de aprender.

Todo listo, sin errores, sospechoso鈥 馃槀

Por si alguien le gusta trabajar solo en modo consola con postgreSQL aqu铆 les dejo un script de como crear un usuario, como dale permisos al usuario, permisos basicos e crear y asignar la base de datos a usuario creado y por ultimo crear un esquema para este usuario, ya que postgreSQL tiene tres niveles.

  • Usuario
  • Nombre de la base de datos
  • Esquema

CREATE USER 鈥楴AME_USER鈥 WITH PASSWORD 鈥榊OUR_PASSWORD鈥;
ALTER ROLE 鈥淣AME_USER鈥 WITH LOGIN;
ALTER ROLE 鈥淣AME_USER鈥 WITH CREATEDB;
CREATE DATABASE 鈥淣AME_DATABASE鈥 WITH OWNER 鈥淣AME_USER鈥;

---- Luego para poder conectarnos desde la consola, tambien podemos colocar el puerto -p 5432
psql -h localhost -U 鈥淣AME_USER鈥 -d 鈥淣AME_DATABASE鈥

鈥 Creamos el esquema
CREATE SCHEMA 鈥淣AME_SCHEMA鈥;
鈥 Este script es para que cada vez que creemos una nueva tabla le asigne el esquema automaticamente, sino tendr铆amos que realizarlo manual para cada tabla: ALTER TABLE 鈥淣AME_TABLE鈥 SET SCHEMA 鈥淣AME_SCHEMA鈥;

SET SEARCH_PATH TO 鈥淣AME_SCHEMA鈥

Imagen oficial para los que usamos Docker:

docker pull postgres:11.16
docker volume create postgresql-db-data
docker run -d -p 5432:5432 --name postgres-db -e POSTGRES_PASSWORD=postgres -e PGDATA=/var/lib/postgresql/data/pgdata --mount src=postgresql-db-data,dst=/var/lib/postgresql/data postgres:11.16

Let鈥檚 go!!! Todo instalado y listo.

Listo! Sigamos

Lista todas las herramientas para comenzar de lleno con el curso

Recientemente se cambio la direcci贸n para la descarga del kit.
AQU脥 LES DEJO LA NUEVA: adoptium . net / temurin/ releases

Existe una Alternativa a POSTMAN y es una extensi贸n de Visual Studio Code muy pr谩ctica que se llama Thunder Client, les comparto el link: https://marketplace.visualstudio.com/items?itemName=rangav.vscode-thunder-client

I Ready鈥 馃槂

驴Compa帽eros es recomendable usar Linux antes que windows? En ese caso podria instalar wls o una maquina virtual

excelente, listo.

Here we go!! 馃槂

Vamos all谩! Todo listo para este nuevo reto.

Listo para empezar.

Para los que usamos Ubuntu Linux:
En la terminal de linux:

intellij-idea:

sudo snap install intellij-idea-community --classic

Para Postgresql:
https://www.postgresql.org/download/linux/ubuntu/

yo tengo instalado netbenas 8.2 , creo que es unas de las mejores verciones que salio
con esa sera que puedo trabajar java en este curso?

Con este comando levantan un postgres en docker

docker run -d --name mypostgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres

Felicitaciones!!! Muy clara la explicaci贸n para instalar cada programa.

EN marchaa!!

Listo, instaldos

Perfecto, todo instalado

Wiiii,

Con todo!! Go!!!

Listo

Listones 馃槂

i鈥檓 ready

Todo listo para iniciar el curso.

Puedo usar NetBeans para este curso?

Muchas gracias por el tutorial, muy claro 馃槃