SpringBoot-はじめに
Spring Bootは、マイクロサービスの作成に使用されるオープンソースのJavaベースのフレームワークです。これはPivotalTeamによって開発され、スタンドアロンで本番環境に対応したSpringアプリケーションを構築するために使用されます。この章では、Spring Bootの概要を説明し、その基本的な概念を理解します。
マイクロサービスとは何ですか?
マイクロサービスは、開発者がサービスを独立して開発およびデプロイできるようにするアーキテクチャです。実行中の各サービスには独自のプロセスがあり、これによりビジネスアプリケーションをサポートする軽量モデルが実現されます。
利点
マイクロサービスは、開発者に次の利点を提供します-
- 簡単な導入
- シンプルなスケーラビリティ
- コンテナとの互換性
- 最小構成
- 短い生産時間
Spring Bootとは何ですか?
Spring Bootは、Java開発者がスタンドアロンの本番環境グレードのSpringアプリケーションを開発するための優れたプラットフォームを提供します。 just run。Spring構成全体のセットアップを必要とせずに、最小限の構成で開始できます。
利点
Spring Bootは、開発者に次の利点を提供します-
- スプリングアプリケーションの理解と開発が容易
- 生産性を向上させます
- 開発時間を短縮します
目標
Spring Bootは、次の目標を持って設計されています-
- Springでの複雑なXML構成を回避するには
- より簡単な方法で本番環境に対応したSpringアプリケーションを開発する
- 開発時間を短縮し、アプリケーションを独立して実行するには
- アプリケーションを開始するためのより簡単な方法を提供する
なぜSpringBootなのか?
ここに示されているように、Spring Bootが提供する機能と利点のために、SpringBootを選択できます-
これは、Java Bean、XML構成、およびデータベーストランザクションを構成するための柔軟な方法を提供します。
強力なバッチ処理を提供し、RESTエンドポイントを管理します。
Spring Bootでは、すべてが自動構成されます。手動で構成する必要はありません。
アノテーションベースのSpringアプリケーションを提供します
依存関係の管理を容易にします
組み込みサーブレットコンテナが含まれています
それはどのように機能しますか?
Spring Bootは、を使用してプロジェクトに追加した依存関係に基づいて、アプリケーションを自動的に構成します。 @EnableAutoConfiguration注釈。たとえば、MySQLデータベースがクラスパス上にあるが、データベース接続を構成していない場合、SpringBootはインメモリデータベースを自動構成します。
スプリングブートアプリケーションのエントリポイントは、クラスに含まれています @SpringBootApplication アノテーションとメインメソッド。
Spring Bootは、を使用してプロジェクトに含まれるすべてのコンポーネントを自動的にスキャンします @ComponentScan 注釈。
SpringBootスターター
依存関係管理の処理は、大規模なプロジェクトにとって難しい作業です。Spring Bootは、開発者の便宜のために一連の依存関係を提供することにより、この問題を解決します。
たとえば、データベースアクセスにSpringとJPAを使用する場合は、を含めると十分です。 spring-boot-starter-data-jpa プロジェクトの依存関係。
すべてのSpringBootスターターは同じ命名パターンに従うことに注意してください spring-boot-starter- *、ここで*は、それがアプリケーションのタイプであることを示します。
例
理解を深めるために、以下で説明する次のSpringBootスターターを見てください。
Spring Boot Starter Actuator dependencyアプリケーションを監視および管理するために使用されます。そのコードを以下に示します-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Spring Boot Starter Security dependencySpringSecurityに使用されます。そのコードを以下に示します-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Spring Boot Starter web dependencyレストエンドポイントを作成するために使用されます。そのコードを以下に示します-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Spring Boot Starter Thyme Leaf dependencyWebアプリケーションを作成するために使用されます。そのコードを以下に示します-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Spring Boot Starter Test dependencyテストケースの作成に使用されます。そのコードを以下に示します-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
自動設定
Spring Boot Auto Configurationは、プロジェクトに追加したJAR依存関係に基づいてSpringアプリケーションを自動的に構成します。たとえば、MySQLデータベースがクラスパス上にあるが、データベース接続を構成していない場合、SpringBootはインメモリデータベースを自動構成します。
この目的のために、あなたは追加する必要があります @EnableAutoConfiguration 注釈または @SpringBootApplicationメインクラスファイルへの注釈。次に、SpringBootアプリケーションが自動的に構成されます。
理解を深めるために、次のコードを確認してください。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@EnableAutoConfiguration
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
SpringBootアプリケーション
Spring Bootアプリケーションのエントリポイントは、次のクラスが含まれていることです。 @SpringBootApplication注釈。このクラスには、SpringBootアプリケーションを実行するためのmainメソッドが必要です。@SpringBootApplication 注釈には、自動構成、コンポーネントスキャン、およびSpringBoot構成が含まれます。
追加した場合 @SpringBootApplication クラスへの注釈。追加する必要はありません。 @EnableAutoConfiguration, @ComponentScan そして @SpringBootConfiguration注釈。ザ・@SpringBootApplication 注釈には、他のすべての注釈が含まれます。
理解を深めるために、次のコードを確認してください。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
コンポーネントスキャン
Spring Bootアプリケーションは、アプリケーションの初期化時にすべてのBeanとパッケージ宣言をスキャンします。追加する必要があります@ComponentScan プロジェクトに追加されたコンポーネントをスキャンするためのクラスファイルの注釈。
理解を深めるために、次のコードを確認してください。
import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}