为IntelliJ IDEA安装插件

安装插件

插件是开发工具的扩展程序,通常由第三方提供,当安装了插件后,原开发工作的菜单、按钮等开发环境可能会发生变化,例如出现了新的菜单项,或出现了新的按钮,甚至一些全新的编码方式,通常,使用插件可以使得开发某些代码或实现某些功能时更加简便。

绝大部分的插件的安装方式都是相同的,另有一部分插件在安装成功后可能还需调整某些设置后才可以正常使用。

本次演示安装的插件是Lombok,它可以使得开发人员在编写类时,定义了属性后,不必再添加Getters & Setters、hashCode & equals、toString等方法,只需要添加相关注解即可。

首先,打开IntelliJ IDEA的设置(在启动界面中打开,或通过主界面的File菜单中Settings选项打开均可):

在设置界面的左侧点击Plugins,在右侧的搜索输入框中输入lombok进行搜索,当出现了Lombok结果项后,点击对应的Install按钮即可开始安装:

IntelliJ IDEA会自动下载并安装插件:

当安装完成后,会出现Restart IDE按钮,点击后IntelliJ IDEA将重启,所安装的插件将生效。

如果某插件并不需要额外的设置,则至此安装过程就已经完成了。

体验Lombok插件

重新打开设置界面,在左侧依次点击Build, Execution, Deployment > Compiler > Annotation Processors,在右侧选中Enable annotation processing,然后点击下方的OK表示确认并关闭设置界面:

创建新的Maven项目,自定义项目名称,确认项目的保存位置,填写GroupId和ArtifactId:

在pom.xml文件中添加Lombok的依赖代码:

xml 复制代码
<dependencies>
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

效果如下图所示:

添加了依赖后,并不会自动下载相关的jar包文件,打开Maven面板,点击按钮栏的第1个按钮:

IntelliJ IDEA将自动下载相关的jar包文件,完成后,代码不再报错:

在项目中自定义类,并声明2个属性,例如:

创建包括main方法的类,在main方法中创建类的对象,尝试调用属性对应的Setter方法,由于该方法并不存在,代码会报错:

回到自定义类,在类的声明之前添加@Setter注解:

再回到main方法,可以发现原本报错的代码将不再报错,因为Lombok框架会自动生成以上2个属性的Setter方法!(当然,通过源代码仍看不到对应的Setter方法,后续,当运行代码时,会自动生成,由于安装了插件,即使当前源代码中并没有Setter方法,但是代码也不会报错):

同理,还可以在自定义类的声明之前添加@Getter和@ToString注解:

在main方法中可以调用对应的Getter方法、输出对象(输出对象时会自动调用toString方法):

运行main方法,可以看到输出Getter方法和输出对象的结果:

关于Lombok框架的详细使用方式,请查阅Lombok的相关文档。

相关推荐
Viktor_Ye15 分钟前
高效集成易快报与金蝶应付单的方案
java·前端·数据库
hummhumm17 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
一二小选手21 分钟前
【Maven】IDEA创建Maven项目 Maven配置
java·maven
J老熊27 分钟前
JavaFX:简介、使用场景、常见问题及对比其他框架分析
java·开发语言·后端·面试·系统架构·软件工程
PigeonGuan30 分钟前
【jupyter】linux服务器怎么使用jupyter
linux·ide·jupyter
猿java32 分钟前
什么是 Hystrix?它的工作原理是什么?
java·微服务·面试
AuroraI'ncoding33 分钟前
时间请求参数、响应
java·后端·spring
所待.3831 小时前
JavaEE之线程初阶(上)
java·java-ee
Winston Wood1 小时前
Java线程池详解
java·线程池·多线程·性能
手握风云-1 小时前
数据结构(Java版)第二期:包装类和泛型
java·开发语言·数据结构