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?

Spring FrameworkとSpring Bootの関係と基礎知識

Posted at

はじめに

「Javaでのアプリケーション開発=Spring Bootを学べばOK!」と思いながら学習を進めてきました。
しかし、どこか腑に落ちないことが多い…。
そこで知ったSpring Frameworkという存在。
Spring FrameworkSpring Bootの関係を理解することは、Javaでアプリケーション開発を進めるにあたって非常に重要だと気づいたので、自分の理解をここでアウトプットすることにしました。


Spring Frameworkとは

  • まず、Spring FrameworkはJavaのフレームワークの一種です。
  • フレームワークとは、アプリケーション全体の骨組みや流れを管理する仕組みであり、開発者のコードを呼び出してアプリが動作します。
  • Spring Frameworkは複数のライブラリを提供しており、これらのライブラリの機能を組み合わせることでアプリケーション開発が可能です。
  • つまり、Spring Frameworkは、Webアプリケーションを開発するために使われるフレームワークです。

モジュールとライブラリとフレームワークの関係

  • モジュール:小さな機能単位。単一の目的に特化
    例:spring-core(DI基盤)、spring-webmvc(MVC機能)
  • ライブラリ:複数のモジュールをまとめた集合体
    例:Spring Coreライブラリ = spring-core + spring-beans + spring-context + spring-expression
  • フレームワーク:ライブラリ群+アプリ全体の制御やルール
    例:Spring Framework = Spring Core + Spring Web + Spring JDBC などのライブラリ群 + IoCやDIによる制御

Spring Frameworkの代表的なライブラリとモジュール

ライブラリ 主なモジュール 役割
Spring Core spring-core, spring-beans, spring-context, spring-expression DI, Bean管理, アプリコンテキスト
Spring Web spring-web, spring-webmvc, spring-websocket HTTP処理, MVC, WebSocket
Spring JDBC spring-jdbc, spring-tx DBアクセス, トランザクション管理
Spring ORM spring-orm Hibernate/JPA連携
Spring AOP spring-aop, spring-aspects AOP(横断的関心事処理)
Spring Messaging spring-messaging メッセージング、STOMP
Spring Test spring-test 単体テスト・統合テスト
Spring WebFlux spring-webflux リアクティブWebアプリ開発

Spring Bootとは

  • それではSpring Bootは何なのか?
  • Spring Bootも同じく、Javaに対応するフレームワークです。
  • どんなフレームワークかというと、Spring Frameworkをより簡単に使うためのフレームワークです。
  • Spring Frameworkのみでアプリケーション開発をすると、使用するライブラリやモジュールの管理が大変らしい。
  • そこで活躍するのがSpring Boot。
  • Spring Bootを使うと、煩雑な設定や環境構築を最小化し、スターターという形で必要なSpring Frameworkのライブラリやモジュールをまとめて導入できます。

まとめ

  • Spring Bootはアプリケーション開発に必要な直接的なライブラリやモジュールは提供していない。
  • それらを提供しているのは、Spring Framework。
  • Spring Bootを使うと、必要なモジュールをまとめて導入できるため、設定や環境構築の負担が軽くしてくれるフレームワーク。
  • Spring Bootを学ぶだけでアプリケーションを作れると思っていたが、Spring Frameworkの各モジュールの使い方も理解する必要がある。

このあたりを整理しておくと、Spring FrameworkとSpring Bootの構造を正しく把握し、効率的にJavaアプリケーションを開発できるようになるなと感じました。

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?