首頁 > Java > java教程 > 主體

每個 Java 開發人員都需要掌握的基本 Lombok 註解!

DDD
發布: 2024-11-03 15:59:30
原創
677 人瀏覽過

Essential Lombok Annotations Every Java Developer Needs to Master!

厭倦了寫重複的 Java 程式碼? ?龍目島來拯救世界了!在 Spring Boot 中,Lombok 註解是一個遊戲規則改變者,它減少了樣板文件,使您的程式碼更乾淨、更具可讀性。讓我們來看看每個 Spring Boot 開發人員都應該知道的必備 Lombok 註解!

1.@Getter和@Setter

  • 描述:為類別中的所有欄位產生 getter 和 setter 方法。
  • 用法:您可以在類別層級應用 @Getter 和 @Setter 為所有欄位產生 getter 和 setter,或在欄位層級僅為特定欄位產生它們。

    @Getter
    @Setter
    public class User {
        private String name;
        private int age;
    }
    
    登入後複製
    登入後複製

2.@數據

  • 描述:組合了@Getter、@Setter、@RequiredArgsConstructor、@ToString和@EqualsAndHashCode的快速註解。
  • 用法:通常用於需要基本功能而無需太多自訂的資料傳輸物件 (DTO) 和實體。

    @Data
    public class User {
        private String name;
        private int age;
    }
    
    登入後複製
    登入後複製

3.@AllArgsConstructor和@NoArgsConstructor

  • 描述:@AllArgsConstructor 產生一個以所有欄位為參數的建構函數,而 @NoArgsConstructor 產生一個預設的無參構造函數。
  • 用法:通常與需要無參數建構子的 Spring Data JPA 實體結合使用,或當所有依賴項皆為最終依賴項時用於依賴項注入。

    @AllArgsConstructor
    @NoArgsConstructor
    public class User {
        private String name;
        private int age;
    }
    
    登入後複製
    登入後複製

4.@RequiredArgsConstructor

  • 描述:產生一個帶有所有最終欄位參數的建構子。如果在具有 @Autowired 欄位的類別中使用,它對於依賴注入非常有用。
  • 用法:在 Spring Boot 中使用基於建構子的依賴注入時很有用。

    @RequiredArgsConstructor
    public class UserService {
        private final UserRepository userRepository;
    }
    
    登入後複製
    登入後複製

5.@Builder

  • 描述:實現建構器模式,允許輕鬆且可讀地實例化具有許多參數的物件。
  • 用法:有助於建立複雜對象,特別是當您不想處理建構子參數順序時。

    @Builder
    public class User {
        private String name;
        private int age;
    }
    
    // Usage
    User user = User.builder()
                    .name("Alice")
                    .age(25)
                    .build();
    
    登入後複製
    登入後複製

6.@ToString

  • 描述:產生一個 toString() 方法。您可以對其進行自訂以包含或排除特定欄位。
  • 用法:通常用於記錄目的。

    @Getter
    @Setter
    public class User {
        private String name;
        private int age;
    }
    
    登入後複製
    登入後複製

7.@EqualsAndHashCode

  • 描述:產生 equals() 和 hashCode() 方法,對於根據欄位值而不是參考來比較物件很有用。
  • 用法:對實體或 DTO 很有用,特別是在集合中使用時。

    @Data
    public class User {
        private String name;
        private int age;
    }
    
    登入後複製
    登入後複製

8.@值

  • 描述:將類別標記為不可變,將所有欄位設為私有final並刪除setter。也適用@ToString、@EqualsAndHashCode 和@AllArgsConstructor。
  • 用法:通常用於不可變資料傳輸物件(DTO)。

    @AllArgsConstructor
    @NoArgsConstructor
    public class User {
        private String name;
        private int age;
    }
    
    登入後複製
    登入後複製

9.@SneakyThrows

  • 描述:允許您拋出已檢查的異常,而無需在方法簽名中聲明它們。
  • 用法:有助於避免 try-catch 區塊,但應謹慎使用以確保異常處理是明確的。

    @RequiredArgsConstructor
    public class UserService {
        private final UserRepository userRepository;
    }
    
    登入後複製
    登入後複製

10.@Slf4j

  • 描述:在類別中新增一個名為log的Logger實例,讓日誌記錄更容易。
  • 用法:常用於 Spring Boot 應用程式中進行日誌記錄。

    @Builder
    public class User {
        private String name;
        private int age;
    }
    
    // Usage
    User user = User.builder()
                    .name("Alice")
                    .age(25)
                    .build();
    
    登入後複製
    登入後複製

這些註解簡化了程式碼並減少了樣板文件,使它們在 Spring Boot 應用程式中非常有價值,因為乾淨、可讀的程式碼是必不可少的。

以上是每個 Java 開發人員都需要掌握的基本 Lombok 註解!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板