@Data 注解引出的 lombok 小辣椒


今天在看代碼的時候, 看到了這個注解, 之前都沒有見過, 所以就查了下, 發現還是個不錯的注解, 可以讓代碼更加簡潔.

這個注解來自於 lombok,lombok 能夠減少大量的模板代碼,減少了在使用@Data 注解時, 需要導入lombok.Data,下面列舉下 lombok提供的注解:

val : 和 scala 中 val 同名, 可以在運行時確定類型;

@NonNull : 注解在參數上, 如果該類參數為 null , 就會報出異常,  throw new NullPointException(參數名)

@Cleanup : 注釋在引用變量前, 自動回收資源 默認調用 close() 方法

@Getter/@Setter : 注解在類上, 為類提供讀寫屬性

@Getter(lazy=true) :

@ToString : 注解在類上, 為類提供 toString() 方法

@EqualsAndHashCode : 注解在類上, 為類提供 equals() 和 hashCode() 方法

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 注解在類上, 為類提供無參,有指定必須參數, 全參構造函數

@Data : 注解在類上, 為類提供讀寫屬性, 此外還提供了 equals()、hashCode()、toString() 方法

@Value :

@Builder : 注解在類上, 為類提供一個內部的 Builder

@SneakThrows :

@Synchronized : 注解在方法上, 為方法提供同步鎖

@Log :

@Log4j : 注解在類上, 為類提供一個屬性名為 log 的 log4j 的日志對象

@Slf4j : 注解在類上, 為類提供一個屬性名為 log 的 log4j 的日志對象



@Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);

上面一些注解是由包含關系的, 看需要什么方法就增加什么注解,@Log4j 和 @Slf4j 注解作用不小, 用在各層都可以,方便打 log。

也可以查看官網 [ 官網 ] 

 

簡易例子:[ 只是用了@Data注解 ]

public @Data class Student {
     
     private String stuId;
     private String stuName;
     private String stuNum;
     private String stuSex;
 }

雖然說,eclipse 的快捷鍵生成這些代碼會很快,但是知道總比不知道的好,萬一別人用了,你看不懂別人的代碼呢?那就不面子丟大了,還只是個實體類而已。

我覺得最重要的是,代碼行數少了很多,簡潔的代碼誰不喜歡呢?

還有一點, 使用這個 lombok 需要安裝 lombok 插件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM