0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Java Spring モジュール一覧

Posted at

image.png

はじめに

Javaでの開発では、Spring Boot を利用する事が多くなりましたが、改めて Spring フレームワークの全体を見直したいと思ったので、まとめました。

Spring Framework

Spring Framework の概要からです。
そもそもの Spring Framework を理解するために、「概要」から一読しましょう!

1. Spring Framework / プラットフォーム系

モジュール名 概要
Spring Core DI(依存性注入)、IoCコンテナなど、Springの基盤となる機能。
Spring Context Beanのライフサイクル管理、イベント発火、国際化対応など。
Spring Expression Language (SpEL) EL式を用いたBeanの値参照・条件分岐。
Spring AOP アスペクト指向プログラミングを実現(横断的関心事の実装)。
Spring MVC サーブレットベースのWebアプリケーションフレームワーク。
Spring WebFlux 非同期・リアクティブプログラミング対応のWebフレームワーク(Netty対応)。

2. データアクセス系

モジュール名 概要
Spring JDBC JDBCアクセスのラッパー、例外変換、接続管理。
Spring ORM JPA/Hibernate/MyBatisなどORM統合。
Spring Data JPA JPAベースのリポジトリ自動生成機能。
Spring Data MongoDB / Redis / Cassandra NoSQL向けのデータアクセス統合。
Spring Transaction 宣言的トランザクション管理。

3. バッチ・ジョブ系

モジュール名 概要
Spring Batch バッチ処理フレームワーク(ジョブ、ステップ、リトライ、スキップなど)。
Spring Cloud Data Flow バッチ・ストリーム処理のオーケストレーションツール。

4. セキュリティ系

モジュール名 概要
Spring Security 認証・認可、CSRF対策、OAuth2対応。
Spring Authorization Server OAuth2 / OpenID Connect 認可サーバー実装。

5. メッセージング・統合系

モジュール名 概要
Spring Integration EAI(エンタープライズアプリ統合)パターン実装。
Spring AMQP RabbitMQとの統合。
Spring Kafka Apache Kafkaとの統合。
Spring WebSocket WebSocketサポート。

6. テスト系

モジュール名 概要
Spring Test JUnit/MockMvcなどの統合テスト支援。
Spring Boot Test Spring Bootアプリの統合テストサポート。

7. Spring Boot 系(アプリ起動・設定)

モジュール名 概要
Spring Boot 自動設定、組み込みサーバー(Tomcat/Jetty/Undertow)、外部設定管理。
Spring Boot Actuator 運用・監視用のエンドポイント提供。

Spring Project

補足として、Spring Projects の一覧も記載します。

モジュール名 概要
Spring Boot スタンドアロンで動くSpringアプリを簡単に作成できるフレームワーク。
Spring Framework IoC、AOP、Web、データアクセスなど、Springの基盤となるコアフレームワーク。
Spring Cloud 分散システム/マイクロサービス向けのツール群。
Spring Cloud Data Flow バッチ・ストリーム処理のオーケストレーションを担うサービス。
Spring Data 複数データストアへの一貫したアクセス手段を提供するデータ操作基盤。
Spring Integration EAIパターンを実現する統合フレームワーク。
Spring Batch 大量データ処理に対応したバッチ処理向けフレームワーク。
Spring Security 認証・認可を扱うセキュリティ機能を提供。
Spring AI AIモデルを企業システムに統合するためのアプリ基盤。
Spring AMQP AMQP(例:RabbitMQ)向けSpring抽象化ライブラリ。
Spring for Apache Kafka Apache Kafka向けSpring抽象化支援ライブラリ。
Spring CLI CLIベースでSpringアプリ操作を支援する開発者向けツール。
Spring GraphQL GraphQL APIをSpringで扱いやすくするフレームワーク。
Spring Modulith モジュール化設計に基づく構造化Spring Bootアプリ支援。
Spring for Apache Pulsar Apache Pulsar向けSpring抽象化支援ライブラリ。
Spring Shell コマンドラインベースのSpringアプリ構築支援シェル。
Spring Statemachine 状態機械の概念をSpringアプリで扱うためのフレームワーク。
Spring Authorization Server OAuth2/OpenID Connect認可サーバー構築ライブラリ。
Spring LDAP LDAP連携を簡略化するテンプレートベースのサポートライブラリ。
Spring Session 分散セッション操作のためのAPIと実装を提供。
Spring Vault Vaultと統合してセキュアな秘密情報管理を提供。
Spring HATEOAS HATEOAS原則に沿ったREST表現作成を簡略化。
Spring REST Docs RESTドキュメントを自動生成するドキュメントツール。
Spring Initializr Springプロジェクトひな形をWebで即生成できるサービス。
Spring Tools IDE統合によるSpring開発支援ツール群。
Spring Release Calendar Spring 各プロジェクトのリリーススケジュールを提供。

おわりに

Spring Framework の内容は知っているものが多いですが、Spring Projects まで広げるとよく知らないプロジェクトもありますね。
次は、Spring Projects の1つずつに1歩だけ深堀しても面白いかも!?


参考(感謝)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?