告別Java樣板代碼!Lombok這些注解讓你效率翻倍
Java開發(fā)者們是否還在為寫不完的getter/setter頭疼?試試Lombok這個(gè)“代碼瘦身神器”,只需一個(gè)注解,就能讓冗長的Java類瞬間清爽!今天我們就來盤點(diǎn)那些讓你愛不釋手的Lombok注解!
1.全能王:@Data
想讓一個(gè)類自動生成getter、setter、toString、equals、hashCode方法?只需在類上標(biāo)注@Data,Lombok就會幫你一鍵生成所有模板代碼!適用場景:POJO類、DTO對象開發(fā)。
@Data
public class User {
private String name;
private int age;
}
注意:若同時(shí)使用@AllArgsConstructor(全參構(gòu)造器),需額外添加@NoArgsConstructor避免無參構(gòu)造器丟失。
2.靈活構(gòu)建:@Builder
想用鏈?zhǔn)秸{(diào)用優(yōu)雅地創(chuàng)建對象?@Builder注解會為類生成一個(gè)流暢的構(gòu)建器,告別滿屏的set方法!適用場景:復(fù)雜對象初始化、配置類。
@Builder
public class Order {
private String id;
private Double price;
}
// 使用示例
Order order = Order.builder().id("20250416001").price(99.9).build();
3.日志自由:@Slf4j / @Log4j
還在手動寫Logger log = LoggerFactory.getLogger(...)?試試@Slf4j或@Log4j,注解直接注入日志對象!
@Slf4j
public class PaymentService {
public void pay() {
log.info("支付成功!"); // 直接調(diào)用log對象
}
}
適用框架:SLF4J、Log4j等主流日志工具。
4.構(gòu)造器三劍客
@NoArgsConstructor:生成無參構(gòu)造器
@AllArgsConstructor:生成全參構(gòu)造器
@RequiredArgsConstructor:為final或@NonNull字段生成構(gòu)造器
@AllArgsConstructor
@NoArgsConstructor
public class Product {
private final String id; // 被@RequiredArgsConstructor包含
@NonNull private String name;
}
(技巧:與Spring框架的依賴注入配合使用更佳)
5.精準(zhǔn)控制:@ToString與@EqualsAndHashCode
@ToString(exclude = "password"):排除敏感字段
@EqualsAndHashCode(of = {"id", "name"}):指定比較字段
@ToString(exclude = "salary")
@EqualsAndHashCode(of = "employeeId")
public class Employee {
private String employeeId;
private double salary;
}
6.隱藏黑科技
@SneakyThrows:偷偷拋出受檢異常,不用寫try-catch
@Cleanup:自動關(guān)閉資源(如IO流),替代try-with-resources
@SneakyThrows
public void readFile() {
@Cleanup InputStream is = new FileInputStream("data.txt");
}
(慎用!過度使用可能降低代碼可讀性)
7.使用小貼士
IDE必備插件:IntelliJ需安裝Lombok插件,否則代碼會報(bào)紅
Maven/Gradle依賴:版本建議選最新穩(wěn)定版(2025年推薦1.18.30+)
團(tuán)隊(duì)規(guī)范:在大型項(xiàng)目中約定注解使用范圍,避免濫用@Data導(dǎo)致意外副作用
8.小結(jié)
Lombok像一位“代碼美容師”,讓Java開發(fā)從重復(fù)勞動中解放。但切記:注解雖好,可不要貪杯哦!