【新手向】在Spring Boot下的3层架构

下面将结合Spring Boot来解释经常在Web应用程序开发中使用的三层架构。本次我们将以员工管理系统的实现作为例子来继续讲解。希望对刚开始使用Spring Boot进行Web应用程序开发的人们有所帮助。

新闻的结构

本文在前半用图解方式解释了3层架构的基本概念,在后半部分介绍了在Spring Boot下实现3层架构的方法。

1. 三层架构

抓住整体的形象

スクリーンショット 2023-10-16 21.46.50.png

三层架构的基本原理

三层架构是由表示层、业务逻辑层和数据访问层(数据层)组成的架构。

① 表示层 shì

    • クライアントから受け取ったHTTPリクエストを処理し、ビジネスロジック層に渡す

 

    • JSONをDTOに、DTOをJSONに変換 (Jacksonというライブラリを使用)

 

    HTTPレスポンスをクライアントに返す

② 商业逻辑层

    • プレゼンテーション層とデータアクセス層の仲介役として、クライアントにデータが返される前に、またはデータベースにデータが保存される前に、データ処理を行う

 

    • ユーザーが入力したデータがアプリケーションの条件を満たすかどうか確認する。例えば、従業員のメールアドレスが正しいか、ユーザーの年齢が18歳以上か等をチェックする

 

    • プレゼンテーション層に処理結果を返す

 

    データアクセス層とやりとりしてデータを取得・保存する

③ 数据访问层

    データベースに対してCRUD操作を行う

尝试通过图表来理解一系列的过程

スクリーンショット 2023-10-17 18.27.30.png
スクリーンショット 2023-10-18 12.37.34.png
    1. 客户端(本次使用的是Postman)发送HTTP GET请求以获取ID:70的员工数据

 

    1. 在展示层处理HTTP请求并将其传递给业务逻辑层

 

    1. 根据需要,在业务逻辑层执行类似上述的处理

 

    1. 在数据访问层从数据库中获取ID:70的员工数据

 

    进行相反的操作,客户端以JSON格式获取员工数据。

2. 实施

在使用Spring Boot实现这个架构时,通常将负责每个层的任务的类集中在对应的包内。

    • プレゼンテーション層 – Controllerパッケージ > Controllerクラス

 

    • ビジネスロジック層 – Serviceパッケージ > Serviceクラス

 

    データアクセス層 – Repositoryパッケージ > Repostitoryクラス

表达:“Presentation层(Controller包)”

    • Controllerパッケージ内のクラスには@RestController または @Controllerアノテーションを付与する

 

    通常、これらのアノテーションが付与されたControllerクラス内でSerivceクラスを呼ぶ
2023-10-17 15.24のイメージ.jpg

业务逻辑层(Service包)

    • Serviceパッケージ内のクラスには、@Serviceアノテーションを使用する

 

    Serviceクラス内で、Repositoryクラスを呼ぶことがある
2023-10-18 12.20のイメージ.jpg
2023-10-17 15.30のイメージ.jpg

数据访问层(Repository包)

    • Repositoryパッケージ内のクラスには、@Repositoryアノテーションを付与することがある

 

    • JpaRepositoryインターフェイスを継承した独自のインターフェイスを定義することで、基本的なCRUD操作が可能

 

    今回の例では、JpaRepository<Employee, Long>を継承するEmployeeRepositoryインターフェイスを定義することで、Employeeエンティティに対してCRUD操作を行うことができる。JpaRepository<Employee, Long>では、Employeeエンティティの主キーのデータ型Longを指定している
2023-10-18 12.18のイメージ.jpg

总结

我将展示本次使用Spring Boot构建的三层架构的整体概貌。

スクリーンショット 2023-10-17 16.36.02.png

请参考

以下是对给定日语句子的中文翻译:

日本語
https://qiita.com/os1ma/items/7a229585ebdd8b7d86c2

日语链接地址为:https://qiita.com/os1ma/items/7a229585ebdd8b7d86c2。

英语
以下是一些建议的网页链接:
1. Spring Boot 架构 (来源: https://www.javatpoint.com/spring-boot-architecture)
2. 业务逻辑层 (来源: https://www.geeksforgeeks.org/business-logic-layer/)
3. Spring MVC Web 应用程序中的三层架构 (来源: https://www.javaguides.net/2020/07/three-tier-three-layer-architecture-in-spring-mvc-web-application.html)
4. 使用 Jackson 进行 JSON 请求和响应映射 (来源: https://codingnconcepts.com/spring-boot/jackson-json-request-response-mapping/)

我认为Teddy Smith先生在YouTube上的视频很易懂。

广告
将在 10 秒后关闭
bannerAds