SpringCloud-Ribbon:認識並配置負載均衡
Lombok介紹
官網
Lombok是什麼
Lombok 是一種 Java™ 實用工具,可用來幫助開發人員消除 Java 中的冗長程式碼,尤其是對於簡單的 Java 物件(POJO),它通過註解實現這一目的。
原理
JSR 269:外掛化註解處理API(Pluggable Annotation Processing API)
JDK6提供的特性,在 Javac編譯期利用註解搞事情
安裝Lombok
匯入依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
安裝IDEA外掛
-
File > Settings > Plugins
-
搜尋
Lombok
進行安裝
Lombok常用註解
@NoArgsConstructor @RequiredArgsConstructor @AllArgsConstructor
-
@NoArgsConstructor : 用於生成空參建構函式
-
@RequiredArgsConstructor :用於生成被final、@@NonNull修飾的欄位的建構函式
-
@AllArgsConstructor :用於生成全參建構函式
@Getter / @Setter
-
用於給生成get、set方法。
-
可以作用在類上和成員變數上。
-
可以通過
AccessLevel
修改方法的訪問修飾符,所以對不需要生成get、set方法的成員變數,在其上方新增@Getter(AccessLevel.NONE)
和@Setter(AccessLevel.NONE)
即可。 -
該註解只作用於成員變數上,對被static修飾的變數,不會為其產生相對應的get、set方法,對被final修飾的變數,只會為其生成get方法。
@ToString
-
用於生成toString方法
-
只能作用於類上
-
排除某些欄位:
@ToString(exclude = {"username","password"})
-
一定要包含某些欄位,如靜態變數:
@ToString( of = {"username","password"})
@EqualsAndHashCode
-
用於生成equals、canEqual、hashCode方法
-
同樣可以使用exclude 和 of 來指定需要進行判斷欄位
@NonNull
-
用於生成判斷空值校驗語句
-
可以新增在方法引數列表中或者成員變數中
@Data
-
集成了四個註解,分別是@RequiredArgsConstructor、
@Getter / @Setter、@ToString、@EqualsAndHashCode
@Builder
-
構造內部類,實現流式程式設計
-
DemoDataBuilder builder = DemoData.builder().string("String").date(new Date()).doubleData(3.14);
@Cleanup
常規寫法:
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("filepath");
out = new FileOutputStream("path2");
byte[] b = new byte[1000];
while (true) {
int r = in.read(b);
if (r == -1) {
return;
}
out.write(b, 0, r);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用註解: