詳解Idea 2019.2 安裝lombok插件失效問(wèn)題解決
一、lombok簡(jiǎn)介
lombok 提供了使用注解的形式幫助簡(jiǎn)化消除java代碼。在編寫(xiě)Java代碼時(shí),通過(guò)使用對(duì)應(yīng)的注解,可以簡(jiǎn)化開(kāi)發(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字段。但可以通過(guò)在可選的exclude參數(shù)中來(lái)排除更多字段?;蛘撸ㄟ^(guò)在parameter參數(shù)中命名它們來(lái)準(zhǔn)確指定希望使用哪些字段。
@NonNull: 注解在屬性上;標(biāo)識(shí)屬性是不能為空,為空則拋出異常。
@Slf4j :注解在類上;根據(jù)用戶實(shí)際使用的日志框架生成log日志對(duì)象。
@Log4j :注解在類上;為類提供一個(gè) 屬性名為log 的 log4j 日志對(duì)象
@NoArgsConstructor:注解在類上;為類提供一個(gè)無(wú)參的構(gòu)造方法。當(dāng)類中有final字段沒(méi)有被初始化時(shí),編譯器會(huì)報(bào)錯(cuò),此時(shí)可用@NoArgsConstructor(force = true),然后就會(huì)為沒(méi)有初始化的final字段設(shè)置默認(rèn)值 0 / false / null。對(duì)于具有約束的字段(例如@NonNull字段),不會(huì)生成檢查或分配,因此請(qǐng)注意,正確初始化這些字段之前,這些約束無(wú)效。
@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,打開(kāi)Settings對(duì)話框,安裝lombok插件。
3、設(shè)置Enable annotation processing
idea升級(jí)到最新的2019.2版本后,不必向網(wǎng)上很多人說(shuō)的那樣解決不兼容問(wèn)題,如上配置即可正常使用。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)經(jīng)典游戲復(fù)雜迷宮
這篇文章主要介紹了如何利用java語(yǔ)言實(shí)現(xiàn)經(jīng)典《復(fù)雜迷宮》游戲,文中采用了swing技術(shù)進(jìn)行了界面化處理,感興趣的小伙伴可以動(dòng)手試一試2022-02-02jsch中ChannelShell與ChannelExec的區(qū)別及說(shuō)明
這篇文章主要介紹了jsch中ChannelShell與ChannelExec的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Java中mybatis關(guān)于example類的使用詳解
這篇文章主要介紹了Java中mybatis中關(guān)于example類的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07解決SpringBoot搭建MyBatisPlus中selectList遇到LambdaQueryWrapper報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決SpringBoot搭建MyBatisPlus中selectList遇到LambdaQueryWrapper報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01使用注解@Validated效驗(yàn)VO參數(shù)是否合規(guī)
這篇文章主要為大家介紹了使用注解@Validated效驗(yàn)VO參數(shù)是否合規(guī)過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05簡(jiǎn)單介紹區(qū)分applet和application的方法
applet和application都是Java語(yǔ)言編寫(xiě)出來(lái)的應(yīng)用程序,本文簡(jiǎn)單介紹了二者的不同之處,需要的朋友可以參考下2017-09-09