idea安装lombok插件及基本注解使用详解

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 平时在开发过程中创建实体类的时候就经常的操作是:先写成员变量,然后再提供getXxx()、setXxx()方法,然后看需要再提供toString等方法。这样一来不仅会发现每写一个实体类的话就会有很多相同的操作,而且代码量看起来也很多,很长,不简洁。于是,@Data这个注解就能给我们开发过程中带来很方便的使用了。 @Data注解:这个注解其实是帮你的类提供了getXxx()、setXxx()方法、equals()、hashCode()、toString() 这些方法。也就是说只要你的类上写了这个注解,那就不需要再生成get、set、toString等方法了。        lombok就

平时在开发过程中创建实体类的时候就经常的操作是:先写成员变量,然后再提供getXxx()、setXxx()方法,然后看需要再提供toString等方法。这样一来不仅会发现每写一个实体类的话就会有很多相同的操作,而且代码量看起来也很多,很长,不简洁。于是,@Data这个注解就能给我们开发过程中带来很方便的使用了。

 

@Data注解:这个注解其实是帮你的类提供了getXxx()、setXxx()方法、equals()、hashCode()、toString() 这些方法。也就是说只要你的类上写了这个注解,那就不需要再生成get、set、toString等方法了。

       lombok就很好的提供了这些便捷方法;lombok插件是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,例如:比如通常情况下我们需要手动去建立getter和setter方法,构造函数之类的,而lombok的作用就是能够在我们编译源码的时候自动帮我们生成这些方法了。


下面就教大家怎么安装lombok插件:

一:Lombok  idea安装

idea中添加lombok插件,首先点开File下的Settings,然后点Plugins,然后点击下面的Browse repositories,然后在搜索框内搜索lombok,然后有个install按钮进行安装,安装完后重启IDEA。


20.jpg


二:添加lombok的maven的pom.xml依赖:

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.6</version>
    </dependency>
</dependencies>


三:注解介绍

  下面只是介绍了几个常用的注解,更多的请参见projectlombok.org/features/al…

@Getter / @Setter

  可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。

@EqualsAndHashCode

  默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。

@ToString

  生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

  无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。

@Data

  @ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,通常情况下,我们使用这个注解就足够了。


Lombok原理

  了解了简单的使用之后,现在应该比较好奇它是如何实现的。整个使用的过程中,只需要使用注解而已,不需要做其它额外的工作,那玄妙之处应该是在注解的解析上。JDK5引入了注解的同时,也提供了两种解析方式。


运行时解析

  运行时能够解析的注解,必须将@Retention设置为RUNTIME,这样可以通过反射拿到该注解。java.lang.reflect反射包中提供了一个接口AnnotatedElement,该接口定义了获取注解信息的几个方法,Class、Constructor、Field、Method、Package等都实现了该接口,大部分开发者应该都很熟悉这种解析方式。


boolean isAnnotationPresent(Class<? extends Annotation> annotationClass);

<T extends Annotation> T getAnnotation(Class<T> annotationClass);

Annotation[] getAnnotations();

Annotation[] getDeclaredAnnotations();

Lombok问题

无法支持多种参数构造器的重载;

 



目录
相关文章
|
2月前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
136 6
|
3月前
|
IDE Java 程序员
学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程
本文提供了如何使用学生邮箱免费获取并安装JetBrains全家桶(包括IDEA、PyCharm等)的详细教程,涵盖了学生认证、软件下载、安装及常见问题的解决方法。
597 0
学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程
|
10天前
|
Java Spring
【Spring配置】idea编码格式导致注解汉字无法保存
问题一:对于同一个项目,我们在使用idea的过程中,使用汉字注解完后,再打开该项目,汉字变成乱码问题二:本来a项目中,汉字注解调试好了,没有乱码了,但是创建出来的新的项目,写的注解又成乱码了。
|
17天前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
2月前
|
Java Windows
IDEA不使用lombok,如何快速生成get和set方法
【11月更文挑战第10天】在 IntelliJ IDEA 中生成 `get` 和 `set` 方法有多种方式:通过菜单操作、使用快捷键或自定义模板。菜单操作包括选择“Code”菜单中的“Generate...”,快捷键为“Alt + Insert”。自定义模板可在“File”-&gt;“Settings”-&gt;“Editor”-&gt;“Code Style”-&gt;“Java”中设置。批量生成时,可多选变量一次性生成。
|
3月前
|
应用服务中间件 Windows
震惊!idea 2021 社区版手把手安装,超详细过程,新手一看就会 如何安装低版本的IDEA? IDEA安装过程中版本冲突怎么办 idea最新版安装!
本文提供了一个详细的指南,用于安装2021年社区版的IntelliJ IDEA,包括如何处理版本冲突和完成安装过程。
451 2
震惊!idea 2021 社区版手把手安装,超详细过程,新手一看就会 如何安装低版本的IDEA? IDEA安装过程中版本冲突怎么办 idea最新版安装!
|
3月前
|
Windows
IDEA如何查看已经安装的插件并删除
【10月更文挑战第1天】这段内容主要介绍了如何在IntelliJ IDEA中查看和删除已安装的插件。可以通过软件内的插件市场查看插件列表,包括插件名称、版本号和供应商等信息;也可以通过访问插件目录查看。删除插件则建议在插件市场中进行,包括禁用和卸载步骤,手动删除插件文件夹的方法不推荐,因为可能存在配置残留等问题。
949 11
|
3月前
|
人工智能 Java 数据库连接
IDEA开发 常用代码规范插件 常用辅助类插件
IDEA开发 常用代码规范插件 常用辅助类插件
90 0
|
3月前
|
IDE Java Maven
分享几个实用的IDEA插件,提高你的工作效率!
分享几个实用的IDEA插件,提高你的工作效率!
167 0
|
3月前
|
Oracle IDE Java
IDEA安装教程配置java环境(超详细)
IDEA安装教程配置java环境(超详细)
1512 0