- Usar las anotaciones básicas de Lombok para la generación de getters, setters, constructores, equals y hashcode.
- Tener instalado el IDE IntelliJ Idea Community Edition con el plugin de Lombok activado.
- Tener instalada la última versión del JDK 11 o 17.
- Tener instalada la herramienta Postman.
-
Crea un proyecto Maven desde el IDE IntelliJ Idea. Este proyecto No deberá ser creado con Spring Initilizr.
-
Agrega al proyecto, en el archivo pom.xml la dependencia de Lombok
<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> <scope>provided</scope> </dependency> </dependencies>
-
Crea un nuevo paquete llamado
org.bedu.java.backend.sesion5.ejemplo1
y adentro crea una clase llamadaPrincipal
que tenga un métodomain
de la siguiente forma:public class Principal { public static void main(String[] args) { } }
-
Crea un subpaquete llamado
model
y adentro de este una clase llamadaVenta
; la estructura de la aplicacion hasta ahora debe verse así: -
En la clase
Visita
coloca los siguientes atributos, en donde dos de los atributos estan marcados comofinal
:private long id; private final LocalDateTime fechaProgramada; private String direccion; private String proposito; private final String vendedor;
-
Decora la clase
Visita
con la anotación@Data
, la cual le dice a Lombok que debe generar una serie de métodos, entre los que se encuentran:- getters de todos los atributos
- setters de todos los atributos que no sean
final
equals
,hashcode
ytoString
- Constructor con todos los atributos final
@Data public class Visita { private long id; private final LocalDateTime fechaProgramada; private String direccion; private String proposito; private final String vendedor; }
-
Decora la clase con la anotación
@Builder
, la cual indica a Lombok que debe implementar el patrón builder en esta clase, así que automáticamente agregará todos los elementos necesarios, incluyendo un métodobuild
, que será el que usaremos para obtener una instancia del objetoVistaBuilder
, el cual también generado automáticamente por Lombok.@Data @Builder public class Visita { private long id; private final LocalDateTime fechaProgramada; private String direccion; private String proposito; private final String vendedor; }
-
Revisa el panel de estructura de la clase en IntelliJ en donde se muestran los metodos generádos por IntelliJ:
-
En el método
main
crea una nueva inastancia deVista
, usando su builder, e imprime sus valores en la consola:public static void main(String[] args) { Visita visita = Visita.builder().proposito("Presentar los nuevos productos") .direccion("Oficina del cliente") .fechaProgramada(LocalDateTime.now().plusDays(3)) .vendedor("Juan Manuel") .build(); System.out.printf("Datos de la visita: %s%n", visita); }
-
Ejecuta la aplicación, debes obtener un resultado como el siguiente: