Mac Eclipse安裝lombok

Lombok是一個可以通過注解的形式可以幫助消除一些必須但是顯得很臃腫的Java代碼的工具,通過使用對應的注解,可以在進行編譯源碼的時候生成對應的方法,比如類屬性的get/set/toString()/類的構造方法等.

  

下面記錄一下在Mac Eclipse是如何安裝Lombok

  1、下載相應的Jar包lombok.jar,下載地址:https://projectlombok.org/download

  2、將Lombok集成到Eclipse

    (1)Lombok復制到Eclipse.app/Contents/Eclipse目錄下;

      

    (2)將如下內容添加到eclipse.ini尾部

1

2

-javaagent:../Eclipse/lombok.jar

-vmargs -javaagent:lombok.jar

  3、重啟Eclipse即可。

下面記錄一下常用的注解  

  1、在Maven項目中引入Lombok的Jar

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
? ? <groupId>org.projectlombok</groupId>
? ? <artifactId>lombok</artifactId>
? ? <version>1.16.20</version>
? ? <scope>provided</scope>
</dependency>

  2、使用注解

@Data
public class User {
? ??
? ? private int id;
? ??
? ? private String userName;
? ??
? ? private Date birthday;
}

  
    @Setter 和 @Getter

    注解在屬性上(當然也可以使用在類上面)為屬性提供 setting 方法,默認生成的方法是public的,如果要修改可以設置AccessLever。如下    

public class User {
? ??
? ? @Getter(AccessLevel.PRIVATE) @Setter private int id;
? ??
? ? @Getter @Setter private String userName;
? ??
? ? @Getter @Setter private Date birthday;

}

?

    @ToString

    注解在類上,生成toString()方法,默認情況下,它會按順序(以逗號分隔)打印你的類名稱以及每個字段。可以這樣設置不包含哪些字段@ToString(exclude="id"),如果有多個可是是@ToString(exclude={"id","name"}),如果有繼承父類的化,可以讓其調用父類的toString(),如@ToString(calllSuper = true)     

@ToString(exclude = "id")
public class User {
? ??
? ? @Getter(AccessLevel.PRIVATE) @Setter private int id;
? ??
? ? @Getter @Setter private String userName;
? ??
? ? @Getter @Setter private Date birthday;
}

  @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

  @NoArgsConstructor生成一個無參構造方法。當類中有final字段沒有被初始化時,編譯器會報錯,此時可用@NoArgsConstructor(force = true),然后就會為沒有初始化的final字段設置默認值 0 / false / null。對于具有約束的字段(例如@NonNull字段),不會生成檢查或分配,因此請注意,正確初始化這些字段之前,這些約束無效。

  @RequiredArgsConstructor會生成構造方法(可能帶參數也可能不帶參數),如果帶參數,這參數只能是以final修飾的未經初始化的字段,或者是以@NonNull注解的未經初始化的字段
  @RequiredArgsConstructor(staticName = "of")會生成一個of()的靜態方法,并把構造方法設置為私有的

? ? @AllArgsConstructor 生成一個全參數的構造方法

  

  @Data

  同時生成@Getter @Setter @ToString @RequiredArgsConstructor等功能。

?

  @Synchronized

  給方法添加同步鎖Synchronized

?

  更多參看官方文檔?https://projectlombok.org/features/all

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386867.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386867.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386867.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

tf.reduce_sum()方法深度解析

首先看一下reduce_sum及其參數的注釋 : def tf.reduce_sum(input_tensor, axisNone, keepdimsFalse, nameNone) Computes the sum of elements across dimensions of a tensor. Reduces input_tensor along the dimensions given in axis. Unless keepdims is true, the rank o…

主成分分析(PCA)原理詳解_轉載

一、PCA簡介 1. 相關背景 在許多領域的研究與應用中&#xff0c;往往需要對反映事物的多個變量進行大量的觀測&#xff0c;收集大量數據以便進行分析尋找規律。多變量大樣本無疑會為研究和應用提供了豐富的信息&#xff0c;但也在一定程度上增加了數據采集的工作量&#xff0c;…

Mac cnpm裝包時提示Error: EACCES: permission denied解決辦法

Cnpm裝包時提示Error: EACCES: permission denied解決辦法 2018年03月04日 09:31:51 miniminixu 閱讀數&#xff1a;1598 版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 https://blog.csdn.net/miniminixu/article/details/79434609 只需在cnpm …

特征點檢測 FAST算法及代碼詳解

本文著重介紹了用于圖像特征點檢測的算法&#xff0c;FAST算法&#xff0c;以及使用matlab的實現。 FAST算法是一種拐點檢測算法&#xff0c;其主要應用于提取圖像中的特征點&#xff0c;在動態成像的一系列圖像中追蹤定位對象。眾所周知&#xff0c;我們生活的世界是動態化的…

Python Email發送,通知業務完成

Email 發送 #!/usr/bin/python # -*- coding: UTF-8 -*- import base64 import smtplib from email.mime.text import MIMEText from email.header import Header from email.utils import formataddrdef crypt(source, key):from itertools import cycleresulttempcycle(key)f…

基于SpringCloud的分布式事務框架(LCN)

框架特點 支持各種基于spring的db框架 兼容springcloud、dubbo 使用簡單&#xff0c;代碼完全開源 基于切面的強一致性事務框架 高可用&#xff0c;模塊可以依賴dubbo或springcloud的集群方式做集群化&#xff0c;TxManager也可以做集群化 使用示例 分布式事務發起方&#xf…

一文看懂計算機神經網絡與梯度下降

1. 計算機神經網絡與神經元 要理解神經網絡中的梯度下降算法&#xff0c;首先我們必須清楚神經元的定義。如下圖所示&#xff0c;每一個神經元可以由關系式yf(∑i1nwixib)y f(\sum_{i1}^nw_ix_i b)yf(∑i1n?wi?xi?b)來描述&#xff0c;其中X[x1,x2,...,xn]X [x_1,x_2,..…

vs2015web項目無法加載64位c++的dll,提示試圖加載不正確的格式

vs2015無法加載64位c的dll&#xff0c;提示試圖加載不正確的格式&#xff01; 開始用winform引用64位的c的dll&#xff0c;在項目的屬性設置生成里面選擇any cpu或者x64都可以成功! 但在web項目和接口里面運行就提示試圖加載不正確的格式&#xff0c;想辦法找了一天也沒處理掉&…

使用Rancher搭建K8S測試環境

環境準備&#xff08;4臺主機&#xff0c;Ubuntu16.04Docker1.12.6 SSH&#xff09;&#xff1a; rancher1 192.168.3.160 只做管理節點 node1 192.168.3.161 K8S的節點1 node2 192.168.3.162 K8S的節點2 node3 192.168.3.163 K8S的節點3 此時如…

Anaconda安裝tensorflow報錯問題解決方法

最近脫離了googlecolab想使用本地的anaconda進行機器學習課題的演練&#xff0c;在安裝tensorflow時報錯 : UnsatisfiableError: The following specifications were found。下面給出解決方法。 發現實際原因是由于anaconda的python環境&#xff0c;當前版本的tensorflow只能適…

5.07—018—周二

今日所學內容 一、模塊 二、遞歸刪除的思路 三、案例&#xff1a;跨文件夾移動文件 四、案例 遞歸遍歷打印目標路徑中所有的txt文件 五、項目開放周期 一、模塊 1、與時間相關的模塊 1&#xff09;time &#xff1a;時間 時間戳(timestamp)&#xff1a;time.time()  延遲線程…

機器學習模型中step與epoch,batch_size之間的關系

本文主要談談自己對step&#xff0c;epoch&#xff0c;batch_size這幾個常見參數的理解。 最近在調試模型的時候&#xff0c;發現在使用keras.optimizer.adam時&#xff0c;模型在添加了新的一層2D卷積層后難以收斂&#xff0c;在不調整初始權重矩陣的情況下&#xff0c;想通過…

yml的mybatis的sql查看

yml的mybatis的sql查看 控制臺輸出結果:

Debian 安裝 yum

sudo apt-get updatesudo apt-get install build-essentialsudo apt-get install yum轉載于:https://www.cnblogs.com/baiqian/p/10840169.html

unity如何讓canvas總是顯示在所有層的最上方?

由于unity中的圖層都是從上至下渲染的&#xff0c;那么在渲染的過程中&#xff0c;只需要將canvas所在的UI層的渲染優先級order排在其他層之后&#xff0c;就可以保證UI畫面總是最后加載出來的了。 在canvas的inspector中修改order in layer 或者 sorting layer都可以實現這一…

FZU - 2037 -Maximum Value Problem(規律題)

Let’s start with a very classical problem. Given an array a[1…n] of positive numbers, if the value of each element in the array is distinct, how to find the maximum element in this array? You may write down the following pseudo code to solve this proble…

解決Feign接口調用有時候不好用的分析思路

很多架構師為了鑒權&#xff0c;會把controller帶過來的header信息一股腦的利用feign的攔截器帶入RequestTemplate&#xff0c;然后方便feign接口鑒權。這時候可能會帶入其他的header信息&#xff0c;比如content-type&#xff0c;而有的feign接口是對特定對header信息有要求的…

關于同時可用git命令clone和TortoiseGit拉取代碼不需要密碼

工作需要在windows7下使用git分布式版本控制系統&#xff0c;需要同時可以在git命令行模式或TortoiseGit拉取代碼而不需要每次輸入密碼。 這時候需要同時安裝git和TortoiseGit。 git使用命令ssh-keygen -C “郵箱地址” -t rsa產生的密鑰在TortoiseGit中不能用。TortoiseGit 使…

交叉驗證 cross validation 與 K-fold Cross Validation K折疊驗證

交叉驗證&#xff0c;cross validation是機器學習中非常常見的驗證模型魯棒性的方法。其最主要原理是將數據集的一部分分離出來作為驗證集&#xff0c;剩余的用于模型的訓練&#xff0c;稱為訓練集。模型通過訓練集來最優化其內部參數權重&#xff0c;再在驗證集上檢驗其表現。…

這個太有意思了,程序員可以消遣娛樂

/***        ┏┓ ┏┓ *       ┏┛┻━━━━━━━┛┻┓ *       ┃       ┃*       ┃   ━   ┃ *       █████━█████ ┃*       ┃       ┃ *       ┃   ┻   ┃* …