Spring Boot Architecture & Design Pattern Resources
目次 / Table of Contents
- Spring公式ドキュメント
- レイヤードアーキテクチャ関連
- Domain-Driven Design (DDD)
- Clean Architecture
- Hexagonal Architecture (Ports and Adapters)
- その他の有用なリソース
1. Spring公式ドキュメント / Spring Official Documentation
Spring Framework Core Documentation
Spring Framework Reference Documentation
- URL: https://docs.spring.io/spring-framework/reference/index.html
- Description: Spring Frameworkの公式リファレンスドキュメント。IoC Container、AOP、Data Access、Webなど、すべてのコア機能について詳細に解説。
-
Key Topics:
- Core Technologies (IoC, DI, Events, Resources, Validation)
- Data Access (JDBC, Transaction Management, DAO Support)
- Web Servlet (Spring MVC, REST)
- Integration (JMS, JMX)
Spring Framework Documentation (PDF)
- URL: https://docs.spring.io/spring-framework/docs/current/reference/pdf/spring-framework.pdf
- Description: 完全なリファレンスドキュメントのPDF版。オフラインでの参照に便利。
Spring Framework Version 6.x Overview
- URL: https://docs.spring.io/spring-framework/docs/6.0.0/reference/pdf/spring-framework-reference.pdf
-
Key Features:
- Jakarta EE 9 level support
- Modular architecture explanation
- Layered architecture best practices
Spring Framework Architecture
Spring Framework Modules Overview
- URL: https://docs.spring.io/spring-framework/docs/3.0.x/spring-framework-reference/html/overview.html
- Description: Spring Frameworkのモジュール構成について詳細に解説
-
Core Modules:
- Core Container (Core, Beans, Context, Expression Language)
- Data Access/Integration (JDBC, ORM, OXM, JMS, Transaction)
- Web (Web, Web-MVC, Web-Socket, Web-Portlet)
- AOP and Instrumentation
- Test
Spring Framework Architecture Guide (GeeksforGeeks)
- URL: https://www.geeksforgeeks.org/advance-java/spring-framework-architecture/
- Description: Spring Frameworkのアーキテクチャをわかりやすく図解
-
Topics:
- Dependency Injection and IoC Container
- Modular Architecture
- Layer separation and integration
Spring Boot Specific
Spring Boot Official Site
- URL: https://spring.io/projects/spring-boot
- Description: Spring Bootの公式サイト。最新情報とガイドが充実。
Spring Boot Architecture Resources
- URL: https://www.javatpoint.com/spring-boot-architecture
- Description: Spring Bootのアーキテクチャについて初心者向けに解説
2. レイヤードアーキテクチャ関連 / Layered Architecture Resources
Spring Bootでのレイヤードアーキテクチャ実装
Spring Boot Layered Architecture (InterviewBit)
- URL: https://www.interviewbit.com/blog/spring-boot-architecture/
- Description: Spring Bootの4層アーキテクチャ(Controller, Service, Repository, Database)について詳細解説
-
Key Layers:
- Presentation Layer (Controller)
- Business Layer (Service)
- Persistence Layer (Repository)
- Database Layer
Understanding Spring Boot Layered Architecture
- URL: https://1kevinson.com/understand-how-spring-boot-architecture-is-designed/
- Description: Spring Bootのレイヤードアーキテクチャをコード例付きで解説
-
Topics:
- Controller-Service-Repository pattern
- Separation of concerns
- Advantages and disadvantages
Layered Architecture & Spring Boot (Medium)
- URL: https://medium.com/@RogelioOrts/layered-architecture-spring-boot-af7dc071d2b5
- Description: DDDの観点からSpring Bootのレイヤードアーキテクチャを解説
-
Layers Discussed:
- Boot layer
- Presentation layer
- Application layer
- Domain layer
- Infrastructure layer
Spring Boot Architecture (GeeksforGeeks)
- URL: https://www.geeksforgeeks.org/springboot/spring-boot-architecture/
- Description: Spring Bootの4層構造と各層の役割について図解入りで説明
-
Flow:
- Request handling through Controller
- Business logic in Service
- Data persistence in Repository
- Database operations
Spring Layered Architecture Example (GitHub)
- URL: https://github.com/vj12354/spring-layered-architecture
- Description: Spring Bootのレイヤードアーキテクチャの実装例
-
Code Examples:
- Data layer implementation
- Service layer with business logic
- Web layer with REST controllers
Spring MVC Architecture
TERASOLUNA - Spring MVC Architecture
- URL: https://terasolunaorg.github.io/guideline/1.0.1.RELEASE/en/Overview/SpringMVCOverview.html
- Description: Spring MVCの処理フローとコンポーネント実装の詳細解説
-
Components:
- DispatcherServlet
- HandlerMapping
- HandlerAdapter
- ViewResolver
- View
3. Domain-Driven Design (DDD)
Eric Evans - Original DDD
Domain-Driven Design by Eric Evans (Book)
- Original Book: "Domain-Driven Design: Tackling Complexity in the Heart of Software" (2003)
- Publisher: Addison-Wesley
- Author: Eric Evans
- Description: DDDの原典。複雑なドメインロジックを持つソフトウェアの設計手法を体系化。
Eric Evans Official Site
- URL: https://ddd.academy/eric-evans/
- Description: Eric Evans本人のサイト。DDDに関するトレーニングやイベント情報。
Domain-Driven Design Reference (PDF)
- URL: https://www.domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf
- Description: Eric Evans自身が作成したDDDリファレンスガイド(無料)
-
Contents:
- Building Blocks (Entities, Value Objects, Services, Aggregates, Repositories)
- Strategic Design (Bounded Context, Context Map)
- Layered Architecture
- Distillation
Domain-Driven Design Quickly (Free Book)
- URL: https://ebel-kliniken.com/fileadmin/user_upload/demo/dokument-2.pdf
- Description: DDDの要点をまとめた無料の電子書籍
-
Key Topics:
- Layered Architecture
- Domain Model
- Ubiquitous Language
DDD Concepts and Implementation
Martin Fowler - Domain Driven Design
- URL: https://martinfowler.com/bliki/DomainDrivenDesign.html
- Description: Martin FowlerによるDDDの解説
-
Key Concepts:
- Ubiquitous Language
- Evans Classification (Entities, Value Objects, Services)
- Strategic and Tactical Design
Domain-Driven Design (Wikipedia)
- URL: https://en.wikipedia.org/wiki/Domain-driven_design
- Description: DDDの概要と関連パターン
-
Related Patterns:
- CQRS (Command Query Responsibility Segregation)
- Event Sourcing
- Event Storming
Domain-Driven Design Summary
- URL: https://softengbook.org/articles/ddd
- Description: DDDの主要概念を簡潔にまとめた記事
-
Core Concepts:
- Ubiquitous Language
- Entities and Value Objects
- Services
- Aggregates
- Repositories
DDD Blog Posts and Tutorials
Domain-Driven Design by Eric Evans (DEV Community)
- URL: https://dev.to/alco/domain-driven-design-by-eric-evans-30g8
- Description: Eric EvansのDDD本の要約と主要概念の解説
Layered Architecture and Smart UI (DEV Community)
- URL: https://dev.to/ielgohary/layered-architecture-and-smart-ui-domain-driven-design-by-eric-evans-part-ii-chapter-4-1il7
- Description: DDDにおけるレイヤードアーキテクチャの詳細解説
-
Layers:
- UI Layer
- Application Layer
- Domain Layer
- Infrastructure Layer
Domain-Driven Design Part I (DEV Community)
- URL: https://dev.to/ielgohary/domain-driven-design-by-eric-evans-part-i-5d8m
- Description: Model-Driven Designの解説
4. Clean Architecture
Robert C. Martin (Uncle Bob)
Clean Architecture - Official Blog Post
- URL: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
- Description: Uncle Bob本人による Clean Architectureの原典記事
-
Key Principles:
- The Dependency Rule (依存性は内側に向かう)
- Entities (Enterprise Business Rules)
- Use Cases (Application Business Rules)
- Interface Adapters
- Frameworks and Drivers
Clean Architecture Book
- Title: "Clean Architecture: A Craftsman's Guide to Software Structure and Design"
- Author: Robert C. Martin
- Publisher: Prentice Hall (2017)
- ISBN: 9780134494166
- Amazon: https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164
Clean Architecture (O'Reilly)
- URL: https://www.oreilly.com/library/view/clean-architecture-a/9780134494272/
- Description: O'ReillyでのClean Architectureの書籍情報と目次
Uncle Bob Consulting
- URL: https://sites.google.com/site/unclebobconsultingllc/
- Description: Robert C. Martinの公式コンサルティングサイト
Clean Architecture Resources
Summary of Clean Architecture (GitHub Gist)
- URL: https://gist.github.com/ygrenzinger/14812a56b9221c9feca0b3621518635b
- Description: Clean Architectureの要約
-
Key Points:
- SOLID Principles
- Dependency Inversion Principle
- The Dependency Rule
- Comparison with Hexagonal Architecture
Uncle Bob's Clean Architecture (Medium)
- URL: https://medium.com/pragmatic-programming/uncle-bobs-clean-architecture-3884c6f5ffea
- Description: Clean Architectureの基本概念と実装例
Clean Architecture by Robert C. Martin (Goodreads)
- URL: https://www.goodreads.com/book/show/18043011-clean-architecture
- Description: レビューと評価
Robert C. Martin (Wikipedia)
- URL: https://en.wikipedia.org/wiki/Robert_C._Martin
- Description: Uncle Bobの経歴と業績
Related Works by Uncle Bob
Clean Code - コードの品質について
The Clean Coder - プロフェッショナリズムについて
Agile Software Development - アジャイル開発原則
5. Hexagonal Architecture (Ports and Adapters)
Alistair Cockburn - Original Pattern
Hexagonal Architecture - Official Site
- URL: https://alistair.cockburn.us/hexagonal-architecture
- Description: Alistair Cockburn本人によるHexagonal Architectureの原典
-
Key Concepts:
- Ports (purposeful conversations)
- Adapters (technology-specific implementations)
- Application isolation
- Symmetry of primary and secondary ports
Hexagonal Architecture (Official Book)
- Title: "Hexagonal Architecture Explained"
- Authors: Alistair Cockburn, Juan Manuel Garrido de Paz
- Publisher: 2024
- ISBN: 9781737519782
- Amazon: https://www.amazon.com/Hexagonal-Architecture-Explained-Alistair-Cockburn/dp/173751978X
- Description: Hexagonal Architectureの決定版書籍
Hexagonal Architecture Official Site
- URL: https://hexagonalarchitecture.org/
-
Resources:
- Sample code by Alistair Cockburn
- Netflix case study
- Additional resources and references
Hexagonal Architecture (2023 Presentation PDF)
- URL: https://alistaircockburn.com/Hexagonal%20Budapest%2023-05-18.pdf
- Description: Alistair Cockburnの最新プレゼンテーション資料
-
Contents:
- Benefits and costs
- Implementation examples (Ruby, Java)
- Configurator pattern
Hexagonal Architecture Resources
Hexagonal Architecture (Wikipedia)
- URL: https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)
- Description: Hexagonal Architectureの概要と歴史
-
Key Points:
- Invented by Alistair Cockburn (2005)
- Also known as "Ports and Adapters"
- Comparison with Clean Architecture
- Application to DDD
Interview with Alistair Cockburn
- URL: https://jmgarridopaz.github.io/content/interviewalistair.html
- Description: Hexagonal Architectureについてのインタビュー
-
Topics:
- Why "hexagonal"?
- Ports and Adapters naming
- History and evolution
Ports & Adapters Architecture Explained
- URL: https://codesoapbox.dev/ports-adapters-aka-hexagonal-architecture-explained/
- Description: Ports & Adaptersの詳細解説とパッケージ構成例
-
Contents:
- Domain-centric design
- Driving vs Driven adapters
- Package structure examples
- Implementation in Java
Understanding Hexagonal Architecture (DEV Community)
- URL: https://dev.to/xoubaman/understanding-hexagonal-architecture-3gk
- Description: Hexagonal Architectureの実践的な解説
-
Topics:
- Application layer
- Ports and Adapters naming conventions
- Walking skeleton concept
AWS - Hexagonal Architecture Pattern
- URL: https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/hexagonal-architecture.html
- Description: AWSによるHexagonal Architectureの解説とLambdaへの適用
-
Benefits:
- Testability
- Technology independence
- Maintainability
Netflix Tech Blog - Hexagonal Architecture
- URL: https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749
- Description: NetflixでのHexagonal Architecture採用事例
- Case Study: 実際のプロダクションでの使用例
Related Resources by Juan Manuel Garrido de Paz
Juan Manuel's Hexagonal Architecture Series
- URL: https://jmgarridopaz.github.io/content/resources.html
- Description: Hexagonal Architectureに関する包括的なリソース集
-
Topics:
- Detailed explanations (Part 1, 2, 3)
- Code examples
- FAQ
GitHub - Hexagonal Architecture Examples
- Alistair Cockburn: https://github.com/totheralistair/SmallerWebHexagon
- Juan Manuel: https://github.com/jmgarridopaz/bluezone
6. その他の有用なリソース / Other Useful Resources
アーキテクチャ比較
Exploring Key Architectures in Spring Boot (Medium)
- URL: https://deepeshkumarkurapati.medium.com/exploring-key-architectures-in-spring-boot-layered-mvc-and-microservices-d0f0c370e206
- Description: Layered, MVC, Microservicesの3つのアーキテクチャの比較
-
Comparison:
- Layered Architecture
- MVC (Model-View-Controller)
- Microservices Architecture
プロジェクト生成ツール
Spring Initializr
- URL: https://start.spring.io/
- Description: Spring Bootプロジェクトの雛形を生成するWebツール
-
Features:
- 依存関係の選択
- プロジェクト構造の自動生成
- Maven/Gradle対応
コミュニティとフォーラム
Stack Overflow - Spring Boot
- URL: https://stackoverflow.com/questions/tagged/spring-boot
- Description: Spring Bootに関する質問と回答
Spring Community
- URL: https://spring.io/questions
- Description: Spring公式のコミュニティフォーラム
学習リソース
Baeldung - Spring Tutorials
- URL: https://www.baeldung.com/spring-tutorial
- Description: Springに関する高品質なチュートリアル集
-
Topics:
- Spring Core
- Spring MVC
- Spring Data
- Spring Security
Spring Guides
- URL: https://spring.io/guides
- Description: Spring公式のハンズオンガイド
-
Getting Started Guides:
- Building a RESTful Web Service
- Accessing Data with JPA
- Building an Application with Spring Boot
推奨学習順序 / Recommended Learning Path
初級 (Beginner)
-
Spring Framework Reference Documentation を読む
- Core ConceptsとIoC/DIを理解
-
Spring Boot Architecture の基本を学ぶ
- Controller-Service-Repository パターン
-
Spring Initializr でプロジェクトを作成し、実際にコードを書く
中級 (Intermediate)
-
Layered Architecture の詳細を学ぶ
- 各層の責務と依存関係の方向
-
Domain-Driven Design の基礎を学ぶ
- Eric EvansのDDD Reference(無料PDF)を読む
-
実際のプロジェクト でレイヤードアーキテクチャを実装
上級 (Advanced)
-
Clean Architecture を学ぶ
- Uncle BobのブログとSOLID原則
-
Hexagonal Architecture を学ぶ
- Alistair Cockburnの原典とNetflixの事例研究
-
各アーキテクチャの比較 と適用場面の理解
- プロジェクトの規模と複雑さに応じた選択
アーキテクチャパターンの比較 / Architecture Patterns Comparison
Layered Architecture (階層型)
特徴:
- 最もシンプルで理解しやすい
- Spring Bootのデフォルト推奨パターン
- Controller → Service → Repository の一方向依存
適用場面:
- 小〜中規模のアプリケーション
- 単一のドメイン
- チームがアーキテクチャに不慣れ
Domain-Driven Design (DDD)
特徴:
- ドメインロジックの明確な分離
- Ubiquitous Languageによるコミュニケーション
- Bounded Contextによるモジュール化
適用場面:
- 複雑なビジネスロジック
- 大規模プロジェクト
- ドメインエキスパートとの密接な協業
Clean Architecture
特徴:
- 依存性の方向が内側(ドメイン)へ
- フレームワーク非依存
- テスタビリティ重視
適用場面:
- 長期運用が必要なシステム
- 技術スタックの変更可能性
- エンタープライズアプリケーション
Hexagonal Architecture
特徴:
- ポートとアダプターによる明確な境界
- ドメインロジックの完全な分離
- 技術的詳細の交換可能性
適用場面:
- マイクロサービス
- 複数のインターフェース(UI/API/CLI等)
- テスト駆動開発
まとめ / Summary
各リソースの活用方法
公式ドキュメント (Spring Framework/Boot)
- 最も信頼性が高い
- 新機能や変更点は必ずここで確認
- API仕様の参照
書籍 (DDD, Clean Architecture, Hexagonal Architecture)
- 原典から学ぶことで誤解を避ける
- 体系的な理解が可能
- 実装パターンの背景にある哲学を理解
ブログ記事とチュートリアル
- 実践的な実装例
- よくある問題と解決策
- コミュニティのベストプラクティス
GitHubのサンプルコード
- 実際の動くコード
- アーキテクチャパターンの具体的実装
- テストコードの書き方
継続的な学習
-
公式ドキュメントを定期的にチェック
- Spring Bootのバージョンアップ情報
- 新機能とベストプラクティスの変更
-
実際のプロジェクトで実践
- 理論を実装に落とし込む
- チームでレビューし合う
-
コミュニティに参加
- Stack Overflowで質問・回答
- カンファレンスやミートアップへの参加
- OSS貢献
-
複数のアーキテクチャを比較
- プロジェクトに最適なパターンを選択
- トレードオフを理解する
参考情報の更新日 / Last Updated
Document Version: 1.0
Last Updated: December 2025
Note: URLやリソースは変更される可能性があります。リンク切れの場合はWayback Machine (https://web.archive.org/) で過去のバージョンを参照してください。