本文へスキップ
BecomeCoder

Spring / Spring Bootコース · 第3章 Spring Boot ― すぐに動くアプリを作る · レッスン9

スターター依存 ― starter dependencies

ローカル実施

導入

「Webアプリを作りたい」と思ったとき、必要なライブラリを1つずつ探してバージョンを揃えるのは大変です。組込みTomcat、Spring MVC、JSON変換ライブラリ……これらのバージョンの相性が悪いと、原因不明のエラーに悩まされます。

説明

Spring Bootは、「よく使う目的ごとに、相性の良いライブラリ一式をまとめたパッケージ」を用意しています。これが スターター依存(starter dependencies) です。

<!-- pom.xml(Mavenの依存関係定義ファイル)に1行足すだけ -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>

spring-boot-starter-web を1行追加するだけで、以下がまとめて手に入ります。

  • Spring MVC(Webリクエストを処理する仕組み)
  • 組込みTomcat(サーバーとして動かすための実行環境
  • Jackson(JavaオブジェクトとJSONを変換するライブラリ)

代表的なスターターを挙げておきます。

スターター用途
spring-boot-starter-webREST APIやWebアプリを作る
spring-boot-starter-data-jpaデータベースアクセス(JPA/Hibernate)
spring-boot-starter-security認証認可
spring-boot-starter-testテスト(JUnit, Mockitoなど)

「Webアプリを作りたいので、必要なライブラリを1つずつ集めてバージョンを揃える」のではなく、「Webアプリ用のスターターを1つ足す」だけで済む——これがスターター依存の価値です。バージョンの組み合わせもSpring Bootのチームが検証済みのため、ライブラリ同士の相性問題に悩まされにくくなります。

やってみよう

自分がこれまで作った(あるいは想像する)Webアプリに、どのスターターが必要になりそうか、上の表から選んでみましょう。DBを使うアプリなら何と何が要りそうですか。