Bienvenida e Introducción

1

Qué aprenderás sobre Hibernate y Java Spring

2

Instalar ambiente de desarrollo en Windows

3

¿Qué es una Aplicación Empresarial?

4

¿Cómo funcionan las Aplicaciones Web?

5

Servidores Web vs Servidores de Aplicación

6

Instalar ambiente de desarrollo Mac

7

Patrón de Arquitectura MVC

8

Características de los Servlet

9

Utilización del Servlet

10

Características y práctica de JSP

Comenzar con Spring Boot

11

Arquitectura de las Aplicaciones Web

12

Características de Spring Framework

13

Características de Spring Boot

14

Crear, cargar y configurar una aplicación en Spring Boot

15

Crear la estructura del proyecto

Spring Data JPA

16

Persistencia de objetos

17

Spring Data, Spring Data JPA

18

Iniciar la base de datos postgres utilizando Docker

19

Optimizar Pojos con Lombok

20

Mapear Tablas de la Base de Datos

21

Configurar la persistencia con Hibernate

Manejo de Negocio

22

Añadir JPA Repository

23

Implementar las operaciones de Consulta con JPA Repository

24

Implementar servicio de negocio para las operaciones CRUD

25

Manejar la transaccionalidad de un servicio de negocio

Spring REST

26

Instalar y configurar Swagger

27

Características de los Servicios Web y Spring Rest

28

Implementar las operaciones REST para crear y actualizar información

29

Implementar las operaciones REST para eliminar y consultar información

30

Documentación de los servicios REST con Swagger

Spring Security

31

Manejar la seguridad en una aplicación web

32

Características, instalación e integración de Spring Security

33

Personalizar la página de Login

Despliegue Aplicaciones Docker

34

Realizar la configuración de Docker Plugin

35

Crear una imagen docker de la aplicación

36

Subir la aplicación a docker hub

37

Ejecutar la aplicación dockerizada

38

Despedida del curso

No tienes acceso a esta clase

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

Curso de Hibernate y Java Spring 2018

Curso de Hibernate y Java Spring 2018

Marco Antonio Toscano Freire

Marco Antonio Toscano Freire

Optimizar Pojos con Lombok

19/38
Recursos

Los POJOs (Plain Old Java Objects) son clases simples de Java que no dependen de un framework en especial y Lombok es una librería que nos permite eliminar código repetitivo (Getters y Setters) que todavía estamos obligados a escribir cuando trabajamos con Java.

Aportes 46

Preguntas 2

Ordenar por:

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

Para configurar Lombok en IntelliJ IDEA:

  1. Ir a File > Settings > Plugins
  2. Click en browse repositories
  3. Buscar e instalar Lombok
  4. Habilitar “Annotation Processing”. File > Settings > Build, Excution, Deployment > Compiler > Annotation Processors > click en “Enable Annotation processing”.

Luego de aplicar y aceptar los cambios, reiniciamos el IDE y ya estará 😃

Para los que tengan STS 4 solamente tiene que descargar lombok y ejecutar el jar les abrira una ventana donde scanea los ide que tengan instalados, lo pueden hacer de manera manual y darle en el boton de specify location y buscan donde tengan la ruta del .exe del sts , una vez selecionado solo ponen install y les dira que fue instalado correctamente y reinician el sts. 😃

Me encantó el proyecto Lombok, muchas gracias por la info.
PD: para incluir Lombok en un proyecto maven solo hace falta incluir la dependencia en el pom.xml del proyecto. En la documentación oficial de Lombok se muestra como:
https://projectlombok.org/setup/maven

Compañeros, así funciona, no necesita el path ser extenso:

ademas recuerden que si luego del cambio el editor no abre, es por el ajuste que hacemos en el archivo de configuraciones de sts

-javaagent:lombok.jar

Nunca en la vida me había exasperado tanto una muletilla…

En IntelliJ IDEA

Simplemente incluir las siguientes lines en el pom.xml dentro de <dependencies></dependencies>

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
</dependency>

Spring Boot se encarga de manejar el tema de las versiones. Recuerden seleccionar enable auto-import cuando les salga la notificacion.

si están usando gradle deben agregar lo siguiente en su build.gradle :

dependencies {
	compileOnly 'org.projectlombok:lombok:1.18.6'
	annotationProcessor 'org.projectlombok:lombok:1.18.6'
}

Para los que estan ultilizando Eclipse, pueden instalarlo seguiendo la documentación de la misma página de Lombok https://projectlombok.org/setup/eclipse

Resumiendo instalación en IntelliJ IDEA:

  1. Se instala plugin: https://projectlombok.org/setup/intellij
  2. Se agrega dependencia en el pom: https://projectlombok.org/setup/maven
  3. Se actualiza el proyecto.

Lombok tambien se puede agregar via maven con https://mvnrepository.com/artifact/org.projectlombok/lombok/1.18.6

Para las personas que están trabajando con ItelliJ es necesario agregar el plugin Lombok de Michail Plushnikov, sino, al momento de instanciar un objeto que utilice un constructor con la anotación @AllArgsConstructor (o getters y setters) no lo permitirá y les saldrá un error.

No conocía lombok, pero su uso de verdad que disminuye la redundancia de código. Excelente

/**
 * 
 */
package com.platzi.ereservation.model;

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Class representing the Customer table
 * 
 * @author Cristian David Franco Garcia
 *
 */
@Data // Getters and setters
@NoArgsConstructor // Will generate a constructor with no parameters
public class Customer {

	String name;
	String lastName;

}

Me pareció muy útil la librería Lombok, ya que vengo de desarrollar con PHP y prácticamente uno es libre de utilizar accessors (setters and getters) al gusto. Más que yo particularmente hago uso de estos cuando realmente tengo que aplicar algún procedimiento lógico al acceder las propiedades de la clase. Cuando no, simplemente las marco como públicas ya que solo estaría encapsulando las propiedades sin ningún fin.

Descubrí Lombok un par de meses atrás. Es lo máximo!

La dependencia de Maven se encuentra en https://projectlombok.org/setup/maven
y la del día de hoy es

<dependencies>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>1.18.4</version>
		<scope>provided</scope>
	</dependency>
</dependencies>

Como bien indica el profesor “No se está desarrollando para nosotros sino tambień para varios desarrolladores” por lo cuál el código no debería estar spanglish. En inglés en su preferencia.

Es importante aclarar que eso ya no se instala de esa manera
en la pagina oficial de Lombok aclara la manera en como esta herramienta se instala y a su ves la versión de la dependencia.

Lombok es fantastico! Ahorra muchas lineas de codigo 😄

Para entender mejor el alcance de lombok

		<!-- LOMBOK -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.16.16</version>
			<scope>provided</scope>
		</dependency>
		<!-- FIN LOMBOK -->

si están usando gradle deben agregar lo siguiente en su build.gradle :

dependencies {
	compileOnly 'org.projectlombok:lombok:1.18.6'
	annotationProcessor 'org.projectlombok:lombok:1.18.6'
}```

ahora lombok y sigo esperando spring con hibernate xD. hasta conceptos de docker he aprendido jajajajaja.

Parece que las siguientes clases ya toca!!! ojala haya valido la pena el tiempo consumido.

en netbeans el tema de lombok es solo agregar la dependencia en el archivo pom.xml

Me parece que lo que el propósito de Lombok ya se implementará con la versión reciente del JDK 14, con los

records

Las mejores funciones son hash y toString 😃

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
<scope>provided</scope>
</dependency>

En el momento que modifique el .init no arranca el ide por lo que en la edicion solo agregue la siguiente linea.

-javaagent:lombok.jar

Vamos Bien.!! 😃

buena explicación!!!

muy buena clase

Para las personas que esten usando Intellij en Mac y, y les muestre error las anotaciones de Lombok. Ademas de instalar el plug-in y habilitar anotation procesing, deben manejar el pom.xml como projecto Maven para que carge las dependencias.

Esto es grandioso, ya quiero verlo en funcionamiento.

buen dia, por favor saquemen de una duda… implemente Lombok y me sale el siguiente warning
Multiple markers at this line
- overrides java.lang.Object.toString
- Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is
intentional, add ‘@EqualsAndHashCode(callSuper=false)’ to your type.
- overrides java.lang.Object.equals
- overrides java.lang.Object.hashCode

Que puede ser???

Lombok se usa ! he estado trabajo en microsersevicio para Prisma. y lo he visto. =)
Marco Antonio Toscano Freire groso!

Buenas tardes, tengo una duda despues de configurar SpringToolSuite, ingreso a configurar el archivo pom.xlm pero alli no trae el archivo que puedo estar haciendo mal?

Se puede utilizar esto junto con Jackson?

Yo tengo una duda, como se hace para crear Migraciones de base de datos a partir de los POJOS?

Pero no poner privado y poner privado no es lo mismo no? si no poens nada, tiene ambito de package…si pones privado el ambito es solo de la clase.

Esto de las anotaciones es lo que se conoce como inversión de control.

Es necesario agregar lombok en el springtoosuite4.ini, ya que se agrega en el pom.xml

No me gusto esa frase de tema académico!!!, me hubiera gustado que dijera así es que lo usan las empresas y así se debe manejar.

No entiendo por que se la complica mucho para agregar Lombok si Spring Boot da la opción de agregarlo desde el inicio.

Listo entendido 😃

Muy útil esta libreria, nos evita generar los getters y setters en cada clase que se crea para generar un código mas limpio y óptimo simplemente con la anotación @Data.