Sobes.tech
Junior

Kas ir Lombok bibliotēka?

sobes.tech AI

Atbilde no AI

Lomboks ir Java bibliotēka, kas ar anotācijām ļauj automātiski ģenerēt šablona kodu (ģētus, seterus, equals, hashCode, toString, konstruktorus utt.), samazina koda apjomu un padara to lasāmāku.

Galvenās anotācijas:

  • @Getter / @Setter: ģenerē ģētus un seterus.
  • @ToString: ģenerē toString metodi.
  • @EqualsAndHashCode: ģenerē equals un hashCode metodes.
  • @NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor: ģenerē dažādus konstruktorus.
  • @Data: apvieno @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode.
  • @Builder: nodrošina fluenty API objektu izveidei.

Piemērs lietošanai:

// Lombok importi
import lombok.Data;
import lombok.Builder;

// @Data anotācija ģenerē ģētus, seterus, obligātos konstruktorus, kā arī toString, equals un hashCode metodes.
@Data
// @Builder anotācija ļauj izmantot Builder dizaina paraugu objektu izveidei.
@Builder
public class User {

    private Long id;
    private String name;
    private int age;

    // Lombok automātiski ģenerēs:
    // getId(), setId(Long id)
    // getName(), setName(String name)
    // getAge(), setAge(int age)
    // konstruktoru(Long id, String name, int age) - ja visi lauki ir final vai ja tiek izmantots @RequiredArgsConstructor ar final laukiem
    // toString()
    // equals()
    // hashCode()

    // Builder lietošanas piemērs:
    // User user = User.builder()
    //                .id(1L)
    //                .name("Alice")
    //                .age(30)
    //                .build();
}

Priekšrocības:

  • Koda apjoma samazināšana.
  • Labāka koda lasāmība.
  • Samazina kļūdu iespējamību, rakstot šablona kodu.

Trūkumi:

  • Nepieciešama IDE integrācija.
  • Var atvieglot atkļūdošanu, jo ģenerētais kods nav tieši redzams.