为IntelliJ IDEA安装插件

news2024/12/24 8:24:34

安装插件

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

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

本次演示安装的插件是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的依赖代码:

<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的相关文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2056062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创客匠人老蒋:流量是个伪命题,做好这件事是打造IP最好避坑方式

怎么样做好一个创始人的IP&#xff1f;流量低是否可以与创客合作陪跑服务&#xff1f; 在老蒋创客圈第63期对话标杆直播连麦中&#xff0c;老蒋与受邀嘉宾【惢众身心成长家园平台】创办人王辉老师进行了一场深度且具有启发性的交流。 老蒋指出&#xff0c;打造IP不仅要“做自己…

通过tqdm实现进度条打印训练过程信息

tqdm使用方法 from tqdm import tqdmdef fit_one_epoch(...):train_loop tqdm(train_loader, descTrain)for xx in enumerate(train_loop):...train_loop.set_description(fEpoch [{epoch 1}/{config.epochs}])train_loop.set_postfix({loss_bev_seg_emb: {0:1.2f}.format(l…

Leetcode—164. 最大间距【中等】(struct)

2024每日刷题&#xff08;157&#xff09; Leetcode—164. 最大间距 直接法实现代码 class Solution { public:int maximumGap(vector<int>& nums) {int n nums.size();if(n 1) {return 0;}ranges::sort(nums);int diff -1;int pre nums[0];for(int i 1; i &l…

java编程 斐波拉契数列算法集锦【斐波拉契数列】【Fibonacci sequence】

斐波那契数列&#xff08;Fibonacci sequence&#xff09;&#xff0c;又称黄金分割数列&#xff0c;是一个非常经典的递归问题。 斐波那契数列&#xff0c;这是一个广为人知的概念&#xff0c;在数学上定义为这样一个数列&#xff1a;0、1、1、2、3、5、8、13、21、34、……即…

场外个股期权是不是个股期权?场外个股期权和个股期权的区别

今天带你了解场外个股期权是不是个股期权&#xff1f;场外个股期权和个股期权的区别。场外个股期权是指在沪深交易所之外交易的个股期权&#xff0c;其本质是一种金融衍生品&#xff0c;允许投资者在股票交易场所外以特定价格买进或卖出证券。 个股期权作为一种重要的投资工具…

【机器学习】线性回归与逻辑回归的极致解析:从数学理论到实战案例

文章目录 1. 引言Python 代码示例 2. 线性回归2.1 线性回归的基本概念线性回归的定义数学表达式及模型假设 2.2 线性回归的工作原理最小二乘法&#xff08;Ordinary Least Squares, OLS&#xff09;梯度下降法在线性回归中的应用多元线性回归与一元线性回归的区别与联系 2.3 线…

面试经典算法150题系列-最长公共前缀

最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower","flow","flight"] 输出&#xff1a;"fl"示例 2&…

数据库学习(进阶)

数据库学习&#xff08;进阶&#xff09; Mysql结构:连接层&#xff1a;服务层&#xff08;核心层&#xff09;&#xff1a;存储引擎层&#xff1a;系统文件层&#xff1a; 存储引擎&#xff08;概述&#xff09;:存储引擎特点&#xff1a;InnoDB存储引擎&#xff1a;(为并发条…

c++顺序表初始(vector)

前言 std是一个容器和算法相关的库&#xff0c;顺序表作为一个常见的容器也在标准库中有相应的实现--vector。今天我们就来简单的认识一下vector的使用&#xff0c;并且简单的模拟实现一个我们的vector 具体vector类的描述可以参考vector - C Reference (cplusplus.com) 在不…

八股之 Java 常用框架

一、Spring 1.IOC 1.将一个类声明为 Bean 的注解有哪些? Component&#xff1a;通用的注解&#xff0c;可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层&#xff0c;可以使用Component 注解标注。Repository : 对应持久层即 Dao 层&#xff0c;主要用于数据库…

【网络 day1】

服务器可以循环接收客户端的数据&#xff1b;当客户端退出后&#xff0c; 服务器阻塞等待下一个客户端的连接&#xff0c;而后继续通信&#xff1b;当有客户端连接时&#xff0c; 服务器端 打印客户端的IP 和 Port信息&#xff1b;将代码的 send 和 recv 改为 write 和 read&am…

2024年5款值得推荐的图表数据可视化工具推荐,不会Excel做表必备!

只推荐5个数据可视化图表制作网站&#xff0c;保证让你相见恨晚&#xff01; 模板类型全、数量丰富&#xff0c;支持在线编辑&#xff0c;还免费~~ 1、Dycharts 推荐指数&#xff1a;☆☆☆☆☆ 网址&#xff1a;dycharts.com 这是一个功能强大且免费的在线数据可视化制作工…

产品分析 | 便利蜂

​产品信息 产品名称&#xff1a;便利蜂 Slogan&#xff1a;小小的幸福 在你身边 版本号&#xff1a;V1.11.3 大小&#xff1a;23.6M 体验环境&#xff1a;Android6.0.1 品牌概述 便利蜂成立于2016年12月&#xff0c;算是起步较早的企业了&#xff0c;17年2月就开了第一家…

记录一次edu web端渗透测试实录

0x01前言 由于是直接接到的相关需求&#xff0c;所以是针对性的一次渗透测试&#xff0c;以下内容仅仅作为思路分享以及打法扩展 0x02 进后台小妙招 弱口令永远是永恒不变的0day漏洞&#xff0c;这也是我们挖漏洞时的敲门砖&#xff0c;以下给出的是一个很神奇的关于寻找后台…

看 逆行人生

电影和我的职业本身有相关性&#xff0c;而且我特别喜欢徐峥执导的电影&#xff0c;这次的题材也算是碰上自己的胃口。 周六&#xff0c;下了大半天的雨&#xff0c;早上驱车到公司加班&#xff0c;下午六点多到时候特别想去看电影&#xff0c;果断再驱车从公司赶回来&#xff…

excel计算时间差-显示每堂课时间

TEXT(H2 - INDEX($H$2:$H$1000, MATCH(B2, $B$2:$B$1000, 0)), "mm:ss")import pandas as pd# 假设你已经加载了数据 df pd.read_excel(你的文件路径.xlsx)# 将开始时间列转换为datetime类型 df[开始时间] pd.to_datetime(df[开始时间])# 计算每个课堂号组内的时间…

批发供应系统:提升效率与竞争力的关键

在当今复杂多变的商业环境中&#xff0c;批发供应系统作为连接生产商、分销商与零售商的重要纽带&#xff0c;其效率与智能化水平直接决定了供应链的运作效率与市场竞争力。随着信息技术的飞速发展&#xff0c;尤其是大数据、云计算、人工智能&#xff08;AI&#xff09;及物联…

Python基础—数据分析中的可视化技巧

数据分析中的可视化技巧是帮助我们将复杂的数据转化为直观、易于理解的图表和图像的过程。这些技巧不仅有助于发现数据中的模式和趋势&#xff0c;还能增强数据故事的讲述能力。以下是一些常用的数据可视化技巧&#xff0c;以及相应的Python代码示例&#xff08;使用matplotlib…

Diffusion Model相关论文整理(二)

目录 1、AnoDDPM: Anomaly Detection With Denoising Diffusion Probabilistic Models Using Simplex Noise [CVPR Workshop 2022]2、Unsupervised Visual Defect Detection with Score-Based Generative Model[2022]3、DiffusionAD: Denoising Diffusion for Anomaly Detectio…

接口自动化-代码实现

接口自动化基础 1、接口自动化测试 接口自动化&#xff1a;使用工具或代码代替人对接口进行测试的技术测试目的&#xff1a; 防止开发修改代码时引入新的问题测试时机&#xff1a; 开发进行系统测试转测前&#xff0c;可以先进行接口自动化脚本的编写开发进行系统测试转测后&…