Este es un post para hacer eco de una librería disponible para Java Spring Boot que nos simplifica el código fuente. Esta librería en concreto es bastante útil, porque te simplifica por ejemplo la creación de los clásicos getters y setters, el objeto log, la función toString, etc.. por ejemplo.
Aquí todas la anotaciones disponibles de la versión estable a fecha de hoy: https://projectlombok.org/features/
Cómo hacer funcionar las anotaciones de Lombok en nuestro proyecto Spring Boot
Lo primero de todo es añadir en las dependencias del proyecto la librería de Lombok. En el caso de Maven sería añadiendo lo siguiente de forma manual:
...
<dependencies>
...
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
..
</dependencies>
...
Por ejemplo, una clase de entidad, para usar JPA con Hibernate, para tener una tabla con servicios:
package com.empresa.entities;
import java.util.Date;
import java.util.UUID;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import lombok.Getter;
import lombok.Setter;
@Entity
public class Service {
@Id
@Column
@Getter
@Setter
private UUID uuid;
@Column
@Getter
@Setter
private String type;
@Column
@Getter
@Setter
private String description;
@Column
@Getter
@Setter
private Date createdAt;
@Column
@Getter
@Setter
private String name;
@Column
@Getter
@Setter
private String imageName;
@Column
@Getter
@Setter
private Integer imageSize;
@Column
@Getter
@Setter
private Date updatedAt;
@Column
@Getter
@Setter
private String publicPhoneNumber;
@Column
@Getter
@Setter
private String publicEmail;
@Column
@Getter
@Setter
private String publicWebsite;
@Column
@Getter
@Setter
private String urlKey;
}
Las anotaciones de Lombok son los @Getter y @Setter. De Hibernate y JPA son las otras anotaciones @Id, @Column y @Entity. ¿Sencillo verdad?