黑马苍穹项目知识点分析

本文详细介绍了如何在JavaSpringBoot项目中利用Lombok的@Data,@Builder,@NoArgsConstructor,@AllArgsConstructor注解自动生成getter/setter、构造方法,以及@PathVariable和@RequestBody在处理HTTP请求中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

演示@Data @Builder @NoArgsConstructor @AllArgsConstructor 如何在Java Spring Boot框架中使用这几个注解

在Java Spring Boot框架中,使用这几个注解可以方便地生成实体类的构造方法、getter和setter方法等。具体演示如下:

首先,在pom.xml文件中添加Lombok依赖:

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

在实体类中添加注解:

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Person {
    private String name;
    private String id;
    private String phoneNumber;
}

其中,@Data注解可以自动生成getter和setter方法,@Builder注解可以生成Builder模式的构造方法,@NoArgsConstructor注解可以生成无参构造方法,@AllArgsConstructor注解可以生成全参构造方法。

在Spring Boot框架中使用实体类:

@RestController
@RequestMapping("/person")
public class PersonController {

    @GetMapping("/{id}")
    public Person getPersonById(@PathVariable String id) {
        // 根据id查询Person信息
        Person person = new Person();
        person.setId(id);
        person.setName("张三");
        person.setPhoneNumber("13888888888");
        return person;
    }

    @PostMapping("/")
    public Person addPerson(@RequestBody Person person) {
        // 新增Person信息
        return person;
    }
}

在上述代码中,我们使用了@GetMapping和@PostMapping注解来处理HTTP GET和POST请求,并使用@PathVariable和@RequestBody注解来获取请求参数。在方法中,我们直接使用Person实体类来接收和返回数据,而不需要手动编写getter和setter方法、构造方法等。
————————————————————————————————————————————————

@PathVariable和@RequestBody注解都是用于Spring的Web请求处理的,但它们有以下不同之处:

@PathVariable注解用于从请求路径中获取参数,常用于RESTful风格的接口中。例如,请求路径为"/users/{id}",则可以使用@PathVariable(“id”)注解来获取id参数的值。

@RequestBody注解用于从请求主体中获取JSON或XML格式的数据。在使用该注解时,需要指定请求主体的数据类型,例如使用@RequestBody Map<String, String> requestBodyParams来获取请求主体中的键值对数据。

举个例子,如果我们有一个POST请求,请求路径为"/users",请求主体为JSON格式的用户信息,我们可以使用@RequestBody注解来获取这个用户信息,例如:

@PostMapping("/users")
public void addUser(@RequestBody User user) {
    // 处理添加用户的逻辑
}

其中,User是一个JavaBean,用于存储用户信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值