トランソニックソフトウェア

ブログ
BLOG

こちらのリンクより最新の名古屋でのシステム開発実績・サービス内容をご確認ください。

2019.07.01

[Spring Boot] 基本的なパッケージ構成

Spring Boot を使ってWebシステムを作成するときに、私は以下のようなパッケージの構成で進める事が多いです。

ただし、こうしなければいけないという正解はないと思います。

 

■パッケージ構成

com.sample
├app (アプリ名)
│├common
││├base
││├dialect
││├security
││├processor
││└utils
│└controllers
│ └forms
└domain
 ├models
 │└custom
 ├repositories
 ├services
 ├validations
 └exceptions

 

■ common

システムの共通的なクラスを格納するパッケージ

 

■ common/base

各種クラスのベースクラスなどを設置する。

 

■ common/dialect

テンプレートエンジンであるThymeleafの独自タグ

 

■ common/security

認証関連で必要となるクラスをまとめておく

 

■ common/processor

 

■ common/utils

各種ユーティリティ関連クラス

 

■ controllers

各画面の制御で使用するクラスを格納するパッケージ

各画面のControllerを設置する。

 

■ controllers/forms

各画面の formオブジェクトを設置する。

 

■ domain

ビジネスロジック等のクラスをまとめるパッケージ

 

■ domain/models

単一テーブルのEntityなどを管理するクラスを設置

 

■ domain/models/custom

SELECT分などで複数のテーブル結合を行った時のEntityを管理するクラスを設置

 

■ domain/repositories

@autowiredするリポジトリを格納する

 

■ domain/services

各種ビジネスロジックを管理するクラスを格納

 

■ domains/validations

各種入力バリデーションルールを格納する

 

■ domains/exceptions

業務処理中の例外用 Exceptionを定義し格納する