web-dev-qa-db-ja.com

スプリングブートレストプロジェクトの推奨プロジェクト構造は何ですか?

私はスプリングブーツの初心者です。私は、スプリングブートを使用して休息サービスを構築するプロジェクトの開始に関与しています。残りのサービスだけを公開するプロジェクトを構築する際に従うべき推奨ディレクトリ構造を教えてください。

36
niccolo m.

あなたはnotを開始するために特別な何かをする必要はありません。通常のJavaプロジェクト(mavenまたはgradle、またはスターター依存関係を持つIDEプロジェクトレイアウトから開始します。

ガイドごとに、メインクラスが1つだけ必要です here and rest ...

制約されたパッケージ構造はありません。実際の構造は要件/気まぐれによって決まり、ディレクトリ構造はbuild-tool/IDEによって配置されます

Spring MVCアプリケーションの場合と同じ構造に従うことができます。

どちらの方法でもフォローできます

  • プロジェクトはレイヤーに分割されます:

    例:DDDスタイル

    • サービス層:サービスパッケージにはサービスクラスが含まれています
    • DAO/REPOレイヤー:daoクラスを含むdaoパッケージ
    • エンティティレイヤー


    または

    問題を記述している問題に適した層構造。

  • モジュールまたは機能または機能に分割されたプロジェクト、およびモジュールは上記のようなレイヤーに分割されます

ビジネスコンテキストに従うため、2番目の方が好きです。概念の観点から考える。

何をするかは、プロジェクトの表示方法によって異なります。それはあなたのコード編成スキルです。

18
theBeacon

config-プロパティファイルから読み取るクラス

cache-キャッシングメカニズムクラスファイル

定数-定数定義クラス

コントローラー-コントローラークラス

例外-例外クラス

モデル-pojosクラスが存在します

セキュリティ-セキュリティクラス

サービス-Implクラス

util-ユーティリティクラス

検証-検証クラス

ブートローダー-メインクラス

24
Subhasish Sahu

この質問には受け入れられた答えがありますが、それでもRESTfulサービスのプロジェクト構造を共有したいと思います。

src/main/Java
    +- com
        +- example
            +- Application.Java
            +- ApplicationConstants.Java
                +- configuration
                |   +- ApplicationConfiguration.Java
                +- controller
                |   +- ApplicationController.Java
                +- dao
                |   +- impl
                |   |   +- ApplicationDaoImpl.Java
                |   +- ApplicationDao.Java
                +- dto
                |   +- ApplicationDto.Java
                +- service
                |   +- impl
                |   |   +- ApplicationServiceImpl.Java
                |   +- ApplicationService.Java
                +- util
                |   +- ApplicationUtils.Java
                +- validation
                |   +- impl
                |   |   +- ApplicationValidationImpl.Java
                |   +- ApplicationValidation.Java

DAO =データアクセスオブジェクト。
DTO =データ転送オブジェクト。

8

私は数年間使用している例があります。参考としてご覧ください。

https://github.com/bigzidane/springboot-rest-h2-swagger

5
Nghia Do

docs: から、これが推奨される方法です

enter image description here

https://docs.spring.io/spring-boot/docs/current/reference/html/usingで言及されている somehow 推奨ディレクトリ構造があります。 -boot-structuring-your-code.html

apiフォルダーを作成し、そこにコントローラーを配置できます。

構成Beanがある場合は、それらも別のパッケージに入れます。

4
Alireza Fattahi

Spring Tool Suite(Springアプリケーションの開発用にカスタマイズされたEclipseベースの開発環境)を使用してください。
Spring Starterプロジェクトを作成すると、Spring Boot Mavenの依存関係を使用してディレクトリ構造が作成されます。

1
Jobin Joseph

Link-1を使用してプロジェクトを生成します。これは学習のための基本的なプロジェクトです。フォルダ構造を理解できます。 Link-2を使用して、基本的なSpringブートプロジェクトを作成します。 1: http://start.spring.io/ 2: https://projects.spring.io/spring-boot/

Gradle/mavenプロジェクトを作成するsrc/main/Javaおよびsrc/main/testが自動的に作成されます。 controller/service/Repositoryパッケージを作成し、コードの記述を開始します。

-src/main/Java(ソースフォルダー)--- com.package.service(package)--- ServiceClass(Class)--- com.package.controller(package)--- ControllerClass(Class)

1
Rahul Kumar