今天在看代碼的時候, 看到了這個註解, 以前都沒有見過, 因此就查了下, 發現仍是個不錯的註解, 能夠讓代碼更加簡潔.eclipse
這個註解來自於 lombok,lombok 可以減小大量的模板代碼,減小了在使用@Data 註解時, 須要導入lombok.Data,下面列舉下 lombok提供的註解:函數
val : 和 scala 中 val 同名, 能夠在運行時肯定類型; ui
@NonNull : 註解在參數上, 若是該類參數爲 null , 就會報出異常, throw new NullPointException(參數名)spa
@Cleanup : 註釋在引用變量前, 自動回收資源 默認調用 close() 方法插件
@Getter/@Setter : 註解在類上, 爲類提供讀寫屬性scala
@Getter(lazy=true) :日誌
@ToString : 註解在類上, 爲類提供 toString() 方法code
@EqualsAndHashCode : 註解在類上, 爲類提供 equals() 和 hashCode() 方法對象
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 註解在類上, 爲類提供無參,有指定必須參數, 全參構造函數blog
@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 插件。