• Spring Boot DTO 到实体映射


    在春季启动中,有很多不同的方法可以将DTO映射到实体,反之亦然,我们可以使用ModelmapperMapstructDozermapper

    完整示例


    按照完整的文章了解如何使用模型映射器将 DTO 映射到实体对象。

    创建 Spring 引导项目


    有许多不同的方法可以创建一个 Spring 启动应用程序,您可以按照以下文章创建一个 –

    >> 使用 Spring 初始值设定项
    创建 Spring 启动应用程序>>在 Spring 工具套件中创建 Spring 启动应用程序 [STS]
    >>在 IntelliJ IDEA 中创建 Spring 启动应用程序

    添加 maven 依赖项


    打开pom.xml并添加以下依赖项 –

    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0modelVersion>
    6. <parent>
    7. <groupId>org.springframework.bootgroupId>
    8. <artifactId>spring-boot-starter-parentartifactId>
    9. <version>2.5.5version>
    10. <relativePath />
    11. parent>
    12. <groupId>in.bushansirgurgroupId>
    13. <artifactId>springbootappartifactId>
    14. <version>1.0.0version>
    15. <name>springbootappname>
    16. <description>Spring boot appdescription>
    17. <properties>
    18. <java.version>1.8java.version>
    19. properties>
    20. <dependencies>
    21. <dependency>
    22. <groupId>org.springframework.bootgroupId>
    23. <artifactId>spring-boot-starter-webartifactId>
    24. dependency>
    25. <dependency>
    26. <groupId>org.modelmappergroupId>
    27. <artifactId>modelmapperartifactId>
    28. <version>0.7.4version>
    29. dependency>
    30. <dependency>
    31. <groupId>org.springframework.bootgroupId>
    32. <artifactId>spring-boot-starter-testartifactId>
    33. <scope>testscope>
    34. dependency>
    35. dependencies>
    36. <build>
    37. <plugins>
    38. <plugin>
    39. <groupId>org.springframework.bootgroupId>
    40. <artifactId>spring-boot-maven-pluginartifactId>
    41. plugin>
    42. plugins>
    43. build>
    44. project>

    spring-boot-starter-web依赖项,用于使用 Spring MVC 构建 Web 应用程序。它使用 tomcat 作为默认的嵌入式容器。org.modelmapper依赖项用于使用模型映射器将 DTO 映射到实体以及将实体映射到 DTO。

     

    创建 DTO 类


    in.bushansirgur.dto包中创建EmployeeDTO.java并添加以下内容

    1. package in.bushansirgur.springbootapp.entity;
    2. public class EmployeeDTO {
    3. private String name;
    4. private int age;
    5. private String location;
    6. public String getName() {
    7. return name;
    8. }
    9. public void setName(String name) {
    10. this.name = name;
    11. }
    12. public int getAge() {
    13. return age;
    14. }
    15. public void setAge(int age) {
    16. this.age = age;
    17. }
    18. public String getLocation() {
    19. return location;
    20. }
    21. public void setLocation(String location) {
    22. this.location = location;
    23. }
    24. }

    创建实体类


    in.bushansirgur.entity包中创建员工.java并添加以下内容

    1. package in.bushansirgur.springbootapp.entity;
    2. public class Employee {
    3. private String name;
    4. private int age;
    5. private String location;
    6. public String getName() {
    7. return name;
    8. }
    9. public void setName(String name) {
    10. this.name = name;
    11. }
    12. public int getAge() {
    13. return age;
    14. }
    15. public void setAge(int age) {
    16. this.age = age;
    17. }
    18. public String getLocation() {
    19. return location;
    20. }
    21. public void setLocation(String location) {
    22. this.location = location;
    23. }
    24. @Override
    25. public String toString() {
    26. return "Employee [name=" + name + ", age=" + age + ", location=" + location + "]";
    27. }
    28. }

    创建控制器


    创建HomeController.javain.bushansirgur.Controller包中添加以下内容

    1. package in.bushansirgur.springbootapp.controller;
    2. import org.modelmapper.ModelMapper;
    3. import org.springframework.beans.factory.annotation.Autowired;
    4. import org.springframework.web.bind.annotation.PostMapping;
    5. import org.springframework.web.bind.annotation.RequestBody;
    6. import org.springframework.web.bind.annotation.RestController;
    7. import in.bushansirgur.springbootapp.entity.Employee;
    8. import in.bushansirgur.springbootapp.model.EmployeeDTO;
    9. @RestController
    10. public class HomeController {
    11. @Autowired
    12. private ModelMapper mapper;
    13. @PostMapping("/save")
    14. public Employee save(@RequestBody EmployeeDTO employeeDto) {
    15. Employee employee = mapper.map(employeeDto, Employee.class);
    16. System.out.println("Printing employee after mapping:"+employee);
    17. return employee;
    18. }
    19. }

    运行应用


    使用以下 maven 命令运行应用程序 –

    mvn spring-boot:run
    

    打开浏览器并输入以下网址 –


    http://localhost:8080/save 这篇文章就是这样

     

  • 相关阅读:
    快速了解GPT-4o和GPT-4区别
    Go 语言中的 Moduels 管理(Let‘s Go 三十四)
    HTML+CSS一个简单的电影网页制作作业,学生个人html静态网页制作成品代码, html电影速递网
    Dijkstra算法不能解决负权边的问题
    接口自动化-如多个接口都有一个重复字段,如何在一个用例对多个接口这个字段的合法性校验
    新生儿低烧:原因、科普和注意事项
    游戏服务器怎么挑选细节与技巧深度解析
    Geotools实现shape文件的写入
    【教3妹学算法-每日1题】采集果实
    软件工程从理论到实践客观题汇总(头歌第九章至第十七章)
  • 原文地址:https://blog.csdn.net/allway2/article/details/127786785