@Data@NoArgsConstructor@AllArgsConstructor 这几个常用注解什么意思?

简介: @Data@NoArgsConstructor@AllArgsConstructor 这几个常用注解什么意思?

这三个注解通常用于简化Java类的开发,特别是在使用一些框架时,如Lombok。让我们逐个解释这些注解的作用:

1. @Data

@Data 是 Lombok 提供的一个组合注解,它包含了一组常用注解的功能,如 @ToString、@EqualsAndHashCode、@Getter、@Setter 和 @RequiredArgsConstructor。


@ToString:自动生成 toString 方法,方便打印对象的内容。@EqualsAndHashCode:自动生成 equals 和 hashCode 方法,方便对象比较。

@Getter:自动生成所有字段的 get 方法。

@Setter:自动生成所有字段的 set 方法。

@RequiredArgsConstructor:生成带有参数的构造方法,对于被 final 修饰的字段,会生成参数存在的情况下的构造方法。

通过使用 @Data 注解,你不再需要手动编写这些繁琐的方法,可以简化类的代码结构。

2. @NoArgsConstructor

@NoArgsConstructor 是 Lombok 提供的注解,用于自动生成无参构造方法。


在Java中,如果你不手动提供构造方法,编译器会默认生成一个无参构造方法。但是,如果你手动提供了带参构造方法,编译器就不再生成无参构造方法。@NoArgsConstructor 解决了这个问题,它会在编译时生成一个无参构造方法,确保你的类可以在没有提供参数的情况下实例化。

3. @AllArgsConstructor


@AllArgsConstructor 是 Lombok 提供的注解,用于自动生成包含所有字段的构造方法。


通常情况下,如果你的类有很多字段,手动编写一个包含所有字段的构造方法会显得很繁琐。使用 @AllArgsConstructor 注解可以让 Lombok 在编译时为你自动生成一个包含所有字段的构造方法,省去了重复的劳动。


综合来说,这三个注解(@Data、@NoArgsConstructor、@AllArgsConstructor)都是为了减少开发者在编写Java类时的模板式代码,提高代码的简洁性和可读性。在使用这些注解时,记得添加相应的依赖以使Lombok工作,比如在Maven项目中添加以下依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.22</version> <!-- 使用最新版本 -->
    <scope>provided</scope>
</dependency>

或者在Gradle项目中:

implementation 'org.projectlombok:lombok:1.18.22' // 使用最新版本
annotationProcessor 'org.projectlombok:lombok:1.18.22'



相关文章
|
6月前
|
JSON 前端开发 Java
解决Spring MVC中No converter found for return value of type异常
在Spring MVC开发中遇到`No converter found for return value of type`异常,通常是因缺少消息转换器、返回值类型不支持或转换器优先级配置错误。解决方案包括:1) 添加对应的消息转换器,如`MappingJackson2HttpMessageConverter`;2) 自定义消息转换器并实现`HttpMessageConverter`接口,设置优先级;3) 修改返回值类型为如`ResponseEntity`的合适类型。通过这些方法可确保返回值正确转换为响应内容。
492 1
Spring Boot 一个接口同时支持 form 表单、form-data、json 优雅写法
网上很多代码都是千篇一律的 cvs,相信我只要你认真看完我写的这篇,你就可以完全掌握这个知识点,这篇文章不适合直接 cvs,一定要先理解。
|
6月前
|
SQL Java 数据库
Spring Data JPA 查询方法那些事
Spring Data 提供了几个接口供继承使用,如 JpaRepository,另外还规定了方法查询中的关键字,即你命名的查询方法需要符合规范。
342 0
|
存储 NoSQL Java
Spring Data默认值的错误
Spring Data有很多配置的默认值,但不一定都适合你。如一个依赖Cassandra 的项目,有时写入数据后,并不能立马读到。这种错误并没有什么报错,一切都是正常的,就是读不到数据。
123 0
Spring Data默认值的错误
SpingBoot项目使用@Data注解
1.在idea中配置lombok插件 在idea中依次点击File->settings ->Plugins
108 0
SpingBoot项目使用@Data注解
|
搜索推荐 Java 数据库连接
Spring Data JPA中常用的注解详解
我们先看看类前面的两个注解
212 0
Spring Data JPA中常用的注解详解
|
JSON 数据格式
记录一个使用lombok的坑(内部类也必须使用@Data注解)
记录一个使用lombok的坑(内部类也必须使用@Data注解)
|
Java Spring
Spring Data jpa之jpql查询@Query注解
Spring Data jpa之jpql查询@Query注解
|
Java Spring
自定义@Validated参数注解
Spring Validated参数校验
393 0
|
Java Maven Spring
参数校验Spring的@Valid注解用法详解(上)
参数校验Spring的@Valid注解用法详解
278 0
参数校验Spring的@Valid注解用法详解(上)