Junior
Mi az a Lombok könyvtár?
sobes.tech MI
Válasz az MI-től
A Lombok egy Java-könyvtár, amely annotációk segítségével automatikusan generálja a sablonkódot (getterek, setterek, equals, hashCode, toString, konstruktorok stb.), csökkentve a kód szó szerinti hosszúságát és olvashatóságát.
Fő annotációk:
@Getter / @Setter: gettereket és settereket generál.@ToString: létrehozza atoStringmetódust.@EqualsAndHashCode: létrehozza azequalséshashCodemetódusokat.@NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor: különböző típusú konstruktorokat generál.@Data: ötvözi a@Getter,@Setter,@RequiredArgsConstructor,@ToString,@EqualsAndHashCodeannotációkat.@Builder: folyékony API-t biztosít az objektumok létrehozásához.
Használati példa:
// Lombok importok
import lombok.Data;
import lombok.Builder;
// Az @Data annotáció automatikusan generál gettereket, settereket,
// kötelező argumentumokat tartalmazó konstruktort, valamint toString, equals és hashCode metódusokat.
@Data
// A @Builder annotáció lehetővé teszi a Builder mintázat használatát az objektumok létrehozásához.
@Builder
public class User {
private Long id;
private String name;
private int age;
// Lombok automatikusan generálja:
// getId(), setId(Long id)
// getName(), setName(String name)
// getAge(), setAge(int age)
// konstruktor(Long id, String name, int age) - ha minden mező végleges, vagy @RequiredArgsConstructor végleges mezőkkel
// toString()
// equals()
// hashCode()
// Builder használat példája:
// User user = User.builder()
// .id(1L)
// .name("Alice")
// .age(30)
// .build();
}
Előnyök:
- A kód méretének csökkentése.
- A kód olvashatóságának javítása.
- A sablonkód írásakor elkövetett hibák valószínűségének csökkentése.
Hátrányok:
- IDE-vel való integrációt igényel.
- Megnehezítheti a hibakeresést, mivel a generált kód nem közvetlenül látható.