【问题标题】:Spring boot project structurespringboot项目结构
【发布时间】:2022-12-10 17:10:39
【问题描述】:
我是 spring boot 的新手,我浏览了很多 spring boot 项目结构的网站,很少有人使用 *controller、service 和 dao,很少有人使用 controller、service 和 jpa 你能建议哪个最好吗
他们还使用了 DTO 和映射器类以及实体,请您解释一下这些类的实际用途是什么
【问题讨论】:
标签:
java
spring
spring-boot
spring-data-jpa
spring-boot-actuator
【解决方案1】:
Java 开发专家在这里我有一些提示给你:
在 Spring Boot 项目中,推荐的项目结构是为应用程序的每一层都有一个单独的包,例如控制器、服务和 dao(数据访问对象)。使用此结构,您的控制器应该处理传入的请求并委托给适当的服务类来执行业务逻辑。然后服务类可以使用 DAO 与数据库或其他数据存储进行交互。
在您的项目中使用 JPA(Java Persistence API)是一个好主意,因为它提供了一种在数据库中访问和保存数据的标准方法。 JPA 允许您在实体中使用注释来定义它们到数据库表的映射,并且它提供了一组 API 用于对数据执行 CRUD(创建、读取、更新、删除)操作。
DTO(数据传输对象)是一种普通的旧 Java 对象 (POJO),用于在应用程序的各层之间传输数据。它通常用于将数据从服务层传输到控制器层,或从 DAO 层传输到服务层。 DTO 通常用于解耦应用程序的不同层,以便一层中数据模型的更改不会影响其他层。
映射器类是用于在 DTO 和实体之间进行转换的实用程序类。映射器类通常包含将 DTO 作为输入并返回实体的方法,反之亦然。映射器类可用于在应用程序的不同层之间转换数据,使您可以保持每个层中的数据模型分离和解耦。
总而言之,为应用程序的每一层使用单独的包的包结构,并使用 JPA 访问数据库,使用 DTO 在层之间传输数据,并使用映射器类在 DTO 和实体之间进行转换,是 Spring Boot 的好方法项目。这种方法将帮助您以可维护和可扩展的方式构建您的项目。