詳解Idea 2019.2 安裝lombok插件失效問題解決
一、lombok簡介
lombok 提供了使用注解的形式幫助簡化消除java代碼。在編寫Java代碼時(shí),通過使用對(duì)應(yīng)的注解,可以簡化開發(fā),同時(shí),在編譯源碼的時(shí)候,lombok又自動(dòng)生成對(duì)應(yīng)的代碼。所以,使用lombok插件不會(huì)影響程序的運(yùn)行效率。
二、lombok常用注解
@Data :注解在類上;包含了@ToString,@EqualsAndHashCode,@Getter / @Setter和@RequiredArgsConstructor的功能,提供類所有屬性的 getter 和 setter 方法,此外還提供了equals、canEqual、hashCode、toString 方法。
@Setter:注解在屬性上;為屬性提供 setter 方法。
@Getter:注解在屬性上;為屬性提供 getter 方法。
默認(rèn)生成的方法是public的,如果要修改方法修飾符可以設(shè)置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)。
@ToString:注解在類上;生成toString()方法,默認(rèn)情況下,它會(huì)按順序(以逗號(hào)分隔)打印你的類名稱以及每個(gè)字段。可以這樣設(shè)置不包含哪些字段@ToString(exclude = "id") / @ToString(exclude = {"id","name"})。
如果繼承的有父類的話,可以設(shè)置callSuper 讓其調(diào)用父類的toString()方法,例如:@ToString(callSuper = true)。
@EqualsAndHashCode:注解在類上;生成hashCode()和equals()方法,默認(rèn)情況下,它將使用所有非靜態(tài),非transient字段。但可以通過在可選的exclude參數(shù)中來排除更多字段?;蛘?,通過在parameter參數(shù)中命名它們來準(zhǔn)確指定希望使用哪些字段。
@NonNull: 注解在屬性上;標(biāo)識(shí)屬性是不能為空,為空則拋出異常。
@Slf4j :注解在類上;根據(jù)用戶實(shí)際使用的日志框架生成log日志對(duì)象。
@Log4j :注解在類上;為類提供一個(gè) 屬性名為log 的 log4j 日志對(duì)象
@NoArgsConstructor:注解在類上;為類提供一個(gè)無參的構(gòu)造方法。當(dāng)類中有final字段沒有被初始化時(shí),編譯器會(huì)報(bào)錯(cuò),此時(shí)可用@NoArgsConstructor(force = true),然后就會(huì)為沒有初始化的final字段設(shè)置默認(rèn)值 0 / false / null。對(duì)于具有約束的字段(例如@NonNull字段),不會(huì)生成檢查或分配,因此請(qǐng)注意,正確初始化這些字段之前,這些約束無效。
@AllArgsConstructor:注解在類上;為類提供一個(gè)全參的構(gòu)造方法。
@RequiredArgsConstructor:注解在類上;會(huì)生成構(gòu)造方法(可能帶參數(shù)也可能不帶參數(shù)),如果帶參數(shù),這參數(shù)只能是以final修飾的未經(jīng)初始化的字段,或者是以@NonNull注解的未經(jīng)初始化的字段@RequiredArgsConstructor(staticName = "of")會(huì)生成一個(gè)of()的靜態(tài)方法,并把構(gòu)造方法設(shè)置為私有的。
二、安裝和配置lombok
1、引入依賴包
(1)maven引入依賴:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
(2)gradle引入依賴:
compile group: 'org.projectlombok', name: 'lombok', version: '1.16.18'
(3)將lombok.jar直接放到源碼文件夾下。
2、安裝插件
(1)按鍵 Alt+Ctrl+S,打開Settings對(duì)話框,安裝lombok插件。

3、設(shè)置Enable annotation processing

idea升級(jí)到最新的2019.2版本后,不必向網(wǎng)上很多人說的那樣解決不兼容問題,如上配置即可正常使用。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ThreadLocal線程在Java框架中的應(yīng)用及原理深入理解
這篇文章主要介紹了ThreadLocal在Java框架中的應(yīng)用及原理深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
JAVA中HTTP基本認(rèn)證(Basic Authentication)實(shí)現(xiàn)
HTTP 基本認(rèn)證是一種簡單的認(rèn)證方法,本文主要介紹了JAVA中HTTP基本認(rèn)證(Basic Authentication),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
Spring?Security實(shí)現(xiàn)基于RBAC的權(quán)限表達(dá)式動(dòng)態(tài)訪問控制的操作方法
這篇文章主要介紹了Spring?Security實(shí)現(xiàn)基于RBAC的權(quán)限表達(dá)式動(dòng)態(tài)訪問控制,資源權(quán)限表達(dá)式動(dòng)態(tài)權(quán)限控制在Spring Security也是可以實(shí)現(xiàn)的,首先開啟方法級(jí)別的注解安全控制,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
java編程之AC自動(dòng)機(jī)工作原理與實(shí)現(xiàn)代碼
這篇文章主要介紹了java編程之AC自動(dòng)機(jī)的有關(guān)內(nèi)容,涉及其應(yīng)用場(chǎng)景,運(yùn)行原理,運(yùn)行過程,構(gòu)造方法及Java中的實(shí)現(xiàn)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
SpringBoot使用CXF集成WebService的方法
這篇文章主要介紹了SpringBoot使用CXF集成WebService的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
SpringBoot中@ConditionalOnBean實(shí)現(xiàn)原理解讀
這篇文章主要介紹了SpringBoot中@ConditionalOnBean實(shí)現(xiàn)原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
spring boot-2.1.16整合swagger-2.9.2 含yml配置文件的代碼詳解
這篇文章主要介紹了spring boot-2.1.16整合swagger-2.9.2 含yml配置文件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08

