Spring Boot 概要
Spring Boot とは
- Spring プロジェクトが提供するさまざまなライブラリとフレームワークを素早く利用できるようにするフレームワークである。
- Dropwizard の Spring 版のようなものである。
- ビルドすると単一の jar ファイルが作成される。
- Web アプリケーションの場合、組み込み Tomcat を起動する(Jetty や Undertow に切り替え可能)。
- Web アプリケーションではなく、通常の Java プログラムとしても動作させることができる。
- Maven や Gradle などのビルドツールを使用する。(Ant では不可)
- 使用したいコンポーネントを依存関係として追加すると、統合に必要な設定が自動的に行われる。
- Spring アプリケーションを独立して作成、ビルド、実行でき、Embedded Tomcat、Jetty を使用できるため、WAR ファイルにまとめてデプロイする必要がない。
- Tomcat や Jetty が組み込まれており、プロジェクトを
.jar ファイル形式で簡単にデプロイできる。
- 複雑な XML 設定を簡素化し、アノテーションベースの Java config に置き換えることで、サーバー設定を容易にできる。
- Django や Ruby on Rails のように、Web プロジェクトを素早く作成できる。
Spring Boot の自動設定
@SpringBootApplication
@Configuration、@EnableAutoConfiguration、@ComponentScan をデフォルトで一緒に使用するという意味である。
@Configuration
- クラスの上に宣言する。
- クラス内に 1 つ以上の @Bean メソッドを提供し、Spring コンテナが該当 Bean を生成、管理できるようにする。
@EnableAutoConfiguration
- embedded Tomcat サーバー設定、Spring MVC の DispatcherServlet 自動登録など、さまざまな基本設定作業を行う。
@ComponentScan
@Component、@Service、@Repository、@Controller が付与された class を自動で scan し、Bean として登録する。