第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Lombok安裝及使用詳解——滄海一米

標(biāo)簽:
Java MongoDB Html5

1. Lombok简介

1.1 是什么

官网地址: 官网
官方介绍:
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.

大概的意思:Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。

大白话就是:以前我们创建一个Java类,需要提供getter/setter/toString等繁琐的样板式代码,现在不需要了,加一个注解就搞定。官方demo:https://objectcomputing.com/resources/publications/sett/january-2010-reducing-boilerplate-code-with-project-lombok

1.2 到底该不该用 Lombok?

这个问题一直有争议,爱它的人爱的要死,恨它的人恨地要死。

正方观点 反方观点
代码干净整洁,工作量大大降低 强侵入性,强 X 队友,一人用都得用,否则编译通不过
代码可读性增强,保持代码风格一致 失去了封装意义,因为有些属性不一定想提供公共的getter/setter方法
Bean修改后,不需要修改模板化代码 IDE和JDK升级存在破裂的风险

笔者观点中立,其它队友用就用,不用也影响不大。

2. 安装

笔者使用环境:jdk1.8 + idea2018+maven3.5.2

2.1 引入maven依赖

<dependencies>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>1.18.12</version>
		<scope>provided</scope>
	</dependency>
</dependencies>

2.2 安装插件

使用Lombok还需要给IDE安装插件,这也是说它会强X队友的原因。笔者使用的是idea,使用其它IDE的盆友自行Google。

打开idea的File->settings菜单,如图所示,点击Install安装

因兼容问题,2018版及以上直接安装Lombok插件可能会出现问题,若无法安装请点击这里查看解决方法

在这里插入图片描述

3. 常用注解使用

3.1 @Getter / @Setter注解

使用方法如图所示:在这里插入图片描述

3.2 @toString注解

自动生成toString代码,并且修改属性后,不需要再修改。
在这里插入图片描述

3.3 @Data注解

@Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
在这里插入图片描述

3.4 其它注解
  • @EqualsAndHashCode 注解在类,生成hashCode和equals方法。
  • @NoArgsConstructor 注解在类,生成无参的构造方法。
  • @RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
  • @AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
  • @Slf4j 注解在类,生成log变量,严格意义来说是常量。private static final Logger log = LoggerFactory.getLogger(UserController.class);

4. Lombok工作原理

Java编译过程大致可以分为3个过程:

  1. 解析与填充符号表过程。
  2. 插入式注解处理器的注解处理过程。
  3. 分析与字节码生成过程。

Lombok本质上就是一个实现了“JSR 269 API”的程序。在javac的过程中,Lombok会在上述第2个步骤根据Lombok注解,修改语法树(AST),从而给class增加新的节点(代码块)。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消