リリース・改善中
Framework · 2014年公開
Spring Bootは、最小限の設定で単独実行できる本番品質のSpringアプリケーションを作れる、JavaとKotlin向けのサーバーフレームワークです。
Spring Bootは、Spring Frameworkの上に構築され、単独で動く本番品質のアプリケーションをすばやく作れるようにするフレームワークです。2014年に1.0が公開され、現在はBroadcomのSpringチームがコミュニティとともにオープンソースで開発しています。クラスパスを見て必要なBeanを用意する自動構成と、機能ごとの依存関係をまとめたスターターのおかげで、XMLや長い設定なしにすぐコードを書き始められます。
Spring Bootは、REST API、マイクロサービス、企業の業務システム、バッチ処理など、信頼性と保守性が重視されるサーバーアプリケーションで広く使われています。Spring Data、Spring Security、Spring BatchなどのSpringプロジェクトと自然に連携し、組み込みWebサーバーを含む実行可能JARひとつで配布できるため、コンテナやクラウド環境とも相性が良好です。Actuatorがヘルスチェックやメトリクスといった運用機能を提供します。
はじめるには、JDKをインストールし、Spring Initializr(start.spring.io)でweb依存関係を選んだプロジェクトを作成して、公式ガイドBuilding a RESTful Web Serviceを試してみるのがおすすめです。続いて依存性注入と自動構成の仕組みを理解し、Spring Data JPAやテスト支援へと範囲を広げていきましょう。公式リファレンスドキュメントには、すべての機能と設定プロパティが詳しく説明されています。
クラスパス上のライブラリと設定値をもとに、Webサーバー、データソース、JSON変換などのBeanを自動で構成し、自分で定義したBeanがあればそちらを優先します。
Web、データアクセス、セキュリティ、テストなど機能別に検証済みの依存関係セットを提供するため、互換性のあるライブラリのバージョンを自分で調べる必要がありません。
TomcatなどのWebサーバーをアプリケーション内に含むため、JARひとつをjava -jarで起動したり、そのままコンテナイメージにしたりできます。
Actuatorがヘルス、メトリクス、環境情報のエンドポイントを提供し、外部設定とプロファイルで環境ごとの設定をすっきり管理できます。
Spring BootはJVM上で動くため、JDKが必要です。対応するJavaのバージョンは公式ドキュメントのシステム要件で確認し、できれば最新のLTSを使います。GradleとMavenはプロジェクトのラッパーがダウンロードするので、別途インストールする必要はありません。
java -versionSpring Initializrからweb依存関係を含むプロジェクトをダウンロードします。start.spring.ioのWeb画面やIntelliJ IDEA、VS Codeの新規プロジェクトウィザードを使っても同じ結果になります。
curl https://start.spring.io/starter.zip -d dependencies=web -d baseDir=demo -o demo.zip && unzip demo.zipGradleラッパーでアプリケーションを起動すると、組み込みWebサーバーがポート8080でリクエストを待ち受けます。Mavenプロジェクトでは./mvnw spring-boot:run、Windowsではgradlew.bat bootRunを使います。
cd demo && ./gradlew bootRun@SpringBootApplicationはエントリーポイントを示し、自動構成とコンポーネントスキャンを有効にします。mainメソッドのSpringApplication.runがアプリケーションと組み込みWebサーバーを起動します。同じクラスに@RestControllerを付け、@GetMappingでパスを割り当てているので、./gradlew bootRunを実行してブラウザでhttp://localhost:8080/ を開くとHello, World!が表示されます。
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String hello() {
return "Hello, World!";
}
}
./gradlew bootRunインストールから Spring Boot の中心となる考え方まで、6 章で順を追って学びます。
Spring Boot について質問し、経験を共有し、意見を交わす場所です。
まだディスカッションはありません。最初の話題を始めましょう。
コメント 0件
ログイン · ログインするとコメントできます。
最初のコメントを書いてみましょう。