gpt4 book ai didi

java - Spring boot RESTful - 三层架构

转载 作者:行者123 更新时间:2023-12-03 21:55:10 25 4
gpt4 key购买 nike

我是一名 dotnet 开发人员,但现在我将开发 Spring Boot 应用程序。让我困惑的一件事是我们如何分离 API 层、服务层和存储库层。在 dotnet 项目中,我们为服务和存储层创建类项目,并为 API 或表示层创建 Web 项目。但在基于maven的spring boot中似乎不熟悉这种方法。虽然我发现在 Maven 中你可以创建单独的模块,但不确定这是正确的方法。无论哪种方式正确,请分享一些示例实现。有什么好的开源项目可供我跟踪并做出决定吗?

最佳答案

根据项目的规模以及定义模块边界的方式,可以采用多种方法来组织代码。

例如,在我的公司,我们按照业务领域将代码分成模块。我们有一些名为securityschedulemessaging等的项目。每个项目都有自己的一组@Controller(这是 API 端点)、@Service@Repository。像这样的东西。

Project structure

configuration 用于@Configuration 类。 controller 用于@Controller 类。 db.domain 用于@Entity 类。 db.repo 用于@Repository 接口(interface)。 service 用于@Service 类。 dto 用于自定义类,它将数据从 @Entity 类转换为 API 端点的某种自定义格式。

就您而言,如果您想为 @Controller@Service@Repository 建立单独的项目,您只需使用Maven 来声明项目之间的依赖关系。例如,@Service 项目应将 @Repository 项目作为依赖项之一。

在这种情况下,最好设置 multi-module Maven project 。随后,您可以非常轻松地声明任何项目之间的依赖关系。

关于java - Spring boot RESTful - 三层架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59524665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com