lombok入門
lombok 是一個非常神奇的 java 類庫,會利用註解自動生成 java Bean 中煩人的 Getter、Setting,還能自動生成 logger、ToString、HashCode、Builder 等 java
特色的函數或是符合設計模式的函數,能夠讓你 java Bean 更簡潔,更美觀。
lombok原理
Java 源碼編譯由以下三個過程組成:
- 詞法分析、語法分,輸出結果是 符號表 和 AST 語法樹
- 註解處理
- 語義分析和生成 class 文件
那麼 lombok 是在那裏添加要插入的代碼呢?估計是註解處理的部分吧。
lombok註解
val,var 神奇的類型註解,可以代表任意類型
類型 | 解釋 |
---|---|
val,var | 神奇的類型推到,可以代表任意類型 |
@Getter and @Setter | |
@ToString | |
@EqualsAndHashCode | |
@NonNull | |
@AllArgsConstructor、@RequiredArgsConstructor、@NoArgsConstructor | 構造函數部分,針對不同情況的構造函數 |
@Data | 相當於 @Getter + @Setter + @ToString + @EqualsAndHashCode + RequiredArgsConstructor |
@Value | 類變成只讀模式 |
@Builder | builder 模式,會創建內 Builder |
@Singular | 要配合 builder 使用,會對(List、Set)等生成更方便函數 |
@Cleanup | 告別煩人的釋放的資源 |
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j | |
@CommonsLog, @JBossLog, @Flogger | 不同框架的日誌註解 |
@SneakyThrows | 偷偷摸摸地拋出異常 |
@Delegate | 帶實驗性質的,能非常方便實現代理模式 |
@Accessors | 帶實驗性質的存取器 |
@Wither | 帶實驗性質的,根據被修飾的成員變量創建類 |
lombok詳細學習
推薦博客:https://www.hellojava.com/a/74973.html