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);
   }
}