Spring-boot-introduction

提供:Dev Guides
移動先:案内検索

スプリングブート-はじめに

Spring Bootは、マイクロサービスの作成に使用されるオープンソースのJavaベースのフレームワークです。 Pivotal Teamによって開発され、スタンドアロンおよび生産準備が整ったスプリングアプリケーションの構築に使用されます。 この章では、Spring Bootの概要を説明し、その基本概念を理解します。

マイクロサービスとは何ですか?

マイクロサービスは、開発者がサービスを独自に開発および展開できるようにするアーキテクチャです。 実行中の各サービスには独自のプロセスがあり、これによりビジネスアプリケーションをサポートする軽量モデルが実現されます。

利点

マイクロサービスは、その開発者に次の利点を提供します-

  • 簡単な配置
  • シンプルなスケーラビリティ
  • コンテナとの互換性
  • 最小構成
  • 生産時間の短縮

Spring Bootとは何ですか?

Spring Bootは、Java開発者が*実行*できるスタンドアロンおよびプロダクショングレードのSpringアプリケーションを開発するための優れたプラットフォームを提供します。 Spring構成全体をセットアップする必要なく、最小限の構成で開始できます。

利点

Spring Bootは、その開発者に次の利点を提供します-

  • スプリングアプリケーションの理解と開発が簡単
  • 生産性を向上
  • 開発時間を短縮

目標

春のブートは、次の目標で設計されています-

  • Springでの複雑なXML構成を回避するには
  • 生産準備が整ったSpringアプリケーションをより簡単な方法で開発するには
  • 開発時間を短縮し、アプリケーションを独立して実行するには
  • アプリケーションを使い始める簡単な方法を提供する

なぜSpring Bootなのか?

ここで与えられる機能と利点のために、Spring Bootを選択できます-

  • Java Beans、XML構成、およびデータベーストランザクションを構成するための柔軟な方法を提供します。
  • 強力なバッチ処理を提供し、RESTエンドポイントを管理します。
  • Spring Bootでは、すべてが自動構成されます。手動で構成する必要はありません。
  • 注釈ベースのスプリングアプリケーションを提供します
  • 依存関係管理を容易にします
  • 組み込みサーブレットコンテナが含まれています

それはどのように機能しますか?

Spring Bootは、 @ EnableAutoConfiguration アノテーションを使用して、プロジェクトに追加した依存関係に基づいてアプリケーションを自動的に構成します。 たとえば、MySQLデータベースがクラスパスにあるが、データベース接続を設定していない場合、Spring Bootはインメモリデータベースを自動設定します。

スプリングブートアプリケーションのエントリポイントは、 @ SpringBootApplication アノテーションとmainメソッドを含むクラスです。

Spring Bootは、 @ ComponentScan アノテーションを使用して、プロジェクトに含まれるすべてのコンポーネントを自動的にスキャンします。

スプリングブートスターター

依存関係管理の処理は、大きなプロジェクトにとって難しいタスクです。 Spring Bootは、開発者の利便性のために一連の依存関係を提供することにより、この問題を解決します。

たとえば、データベースアクセスにSpringとJPAを使用する場合は、 spring-boot-starter-data-jpa 依存関係をプロジェクトに含めるだけで十分です。

すべてのSpring Bootスターターは同じ名前付けパターン spring-boot-starter- *に従うことに注意してください。*は、それがアプリケーションのタイプであることを示します。

理解を深めるために、以下で説明する次のSpring Bootスターターを見てください-

  • Spring Boot Starter Actuator依存性*は、アプリケーションの監視と管理に使用されます。 そのコードは以下に示されています-
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  • Spring Boot Starter Securityの依存関係*は、Spring Securityに使用されます。 そのコードは以下に示されています-
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>
  • Spring Boot Starter Web依存*は、Rest Endpointsの記述に使用されます。 そのコードは以下に示されています-
<dependency&gt
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  • Spring Boot Starter Thyme Leaf依存関係*は、Webアプリケーションの作成に使用されます。 そのコードは以下に示されています-
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
  • Spring Boot Starter Testの依存関係*は、テストケースの記述に使用されます。 そのコードは以下に示されています-
<dependency&gt
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
</dependency>

自動設定

Spring Boot Auto Configurationは、プロジェクトに追加したJAR依存関係に基づいて、Springアプリケーションを自動的に構成します。 たとえば、MySQLデータベースがクラスパスにあるが、データベース接続を設定していない場合、Spring Bootはインメモリデータベースを自動設定します。

この目的のために、メインクラスファイルに @ EnableAutoConfiguration アノテーションまたは @ SpringBootApplication アノテーションを追加する必要があります。 その後、Spring Bootアプリケーションが自動的に構成されます。

より良い理解のために次のコードを観察します-

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

スプリングブートアプリケーション

Spring Bootアプリケーションのエントリポイントは、 @ SpringBootApplication アノテーションを含むクラスです。 このクラスには、Spring Bootアプリケーションを実行するためのmainメソッドが必要です。 @ SpringBootApplication 注釈には、自動構成、コンポーネントスキャン、およびスプリングブート構成が含まれます。

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