1.SpringBootの概要
1.SpringBootの概要
Spring Bootは、Pivotalチームによって提供される新しいフレームワークであり、その設計目的は、新しいSpringアプリケーションの初期セットアップと開発プロセスを簡素化することです。フレームワークは構成に特定の方法を使用し、構成ファイルを最小化するため、開発者は定型的な構成を定義する必要がなくなります。このようにして、Spring Bootは、急速なアプリケーション開発の急成長する分野のリーダーになることを約束します。
SpringBootの4つの主な機能:
- SpringBoot Starter:彼は、統合に一般的に使用される依存関係をグループ化し、それらを1つの依存関係にマージして、プロジェクトのMavenまたはGradleビルドに一度に追加できるようにしました。
- 自動構成:SpringBootの自動構成機能は、Spring4の条件付き構成のサポートを利用して、アプリケーションに必要なBeanを合理的に推測し、それらを自動的に構成します。
- コマンドラインインターフェイス:(コマンドラインインターフェイス、CLI):SpringBootのCLIは、Groovyプログラミング言語を利用し、自動構成を組み合わせて、Springアプリケーションの開発をさらに簡素化します。
- Actuatir:SpringBootアプリケーションのすべての機能のための小さなアプリケーションを構築します。しかし、最初に、各機能をすばやく理解し、それらがSpringプログラミングモデルをどのように単純化するかをよりよく体験します。
2.SpringBootのコア機能
(1)独立して実行されているSpringプロジェクト
SpringBootはjarパッケージの形式で独立して実行でき、SpringBootプロジェクトの実行にはjava -jarxx.jarを渡すだけで済みます。
(2)組み込みサーブレットコンテナ
Spring Bootは、Tomcat、Jetty、またはUndertowの埋め込みを選択できるため、warパッケージの形式でデプロイする必要はありません。
(3)Maven構成を簡素化するためのスターターを提供します
Springは、Mavenの依存関係の読み込みを簡素化する一連のスターターpomを提供します。たとえば、springboot-starter-webを使用すると、各座標の依存関係を手動で追加しなくても、関連する依存関係が自動的に追加されます。
(4)Springの自動構成
Spring Bootは、jarパッケージとクラスパス内のクラスに従ってjarパッケージ内のクラスのBeanを自動的に構成します。これにより、使用する必要のある構成が大幅に削減されます。もちろん、SpringBootはすべてのシナリオではなく、ほとんどの開発シナリオのみを考慮します。実際の開発でBeanを自動的に構成する必要があるが、Spring Bootがサポートを提供しない場合は、自動構成をカスタマイズできます。
(5)コード生成およびxml構成なし
SpringBootの魔法は、コード生成ではなく、条件付きアノテーションによって実現されます。これは、Spring 4.xによって提供される新機能です。Spring4.xは、Java構成とアノテーション構成を組み合わせて使用することを推奨していますが、SpringBootはSpingBootは、任意のxml構成で実現できます。
3.SpringBootの機能
- すべてのSpring開発者に、非常に高速で広く受け入れられている入門エクスペリエンスを提供します
- 箱から出してすぐに機能しますが(スターターは実際にはSpringBootによって提供されるjarパッケージです)、パラメーター(.properties)を自分で設定することで、このメソッドをすばやく取り除くことができます。
- 組み込みサーバー、セキュリティ、インジケーター、ヘルス検出、外部構成など、大規模なプロジェクトで一般的ないくつかの非機能機能を提供します。
- SpringBootはSpring機能の拡張ではありませんが、Springをすばやく使用する方法を提供します
4.SpringBootの長所と短所
(1)利点:
- プロジェクトをすばやく構築する:面倒で反復的なxml構成を省略し、数分でWebプロジェクトを構築します。
- 主流の開発フレームワークの構成不要の統合:多くのStarter依存関係パッケージが提供されており、追加の構成なしでそのまま使用できます。
- プロジェクトは独立して実行できます。サーブレットコンテナへの外部依存関係はありません。
- 開発と展開の効率を大幅に向上させます。
- 簡単な監視:アクチュエータパッケージが提供されており、それを使用してアプリケーションを監視できます。
(2)デメリット:
- 依存関係が多すぎる:単純なSpringBootアプリケーションには数十のMしかありません。
- 監視統合ソリューションと安全管理ソリューションの欠如:基本的な監視のみが提供されます。生産レベルの監視を実現するには、監視ソリューションを自分で解決する必要があります。
第二に、エントリーケース
1. SpringBoot + mavenはhelloworldをビルドします。
(1)MavenプロジェクトSpringBootHelloWorldを作成します。
(2)pom.xmlに依存パッケージを導入します。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
(3)コントローラーにHelloControllerを作成します。
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "hello SpringBoot";
}
}
(4)com.yhtの下にHelloApplicationを作成します。
@SpringBootApplication
public class HelloApplication {
public static void main( String[] args ) {
SpringApplication.run(HelloApplication.class);
}
}
(5)プログラムを起動し、ブラウザのアドレスバーにhttp:// localhost:8080 / helloと入力すると、ページの戻り結果は次のようになります。
拡張機能:SpringBootプロジェクトをjarパッケージに入力します。
a。次のようにpom.xmlに構成を追加します。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
b。[パッケージ]をクリックします。
.jarパッケージは、次のようにc.targetに生成されます。
d。対応するjarパッケージのパスを見つけて、java -jarnameを使用して正常に実行します。
2. SpringInitializrはSpringBootプロジェクトを作成します。
(1)Spring Initializrを選択し、JDKバージョンを指定して、「次へ」をクリックします。
(2)下図のパラメータを入力し、[次へ]をクリックします。
パラメータの説明:
パラメータ | 説明 |
---|---|
グループ | 通常、ドメイン名の形式を逆にします |
アーティファクト | 一意の識別子、通常はプロジェクト名固有のMaven関連情報、自分で検索できます |
タイプ | ここでプロジェクトタイプを選択しますMavenプロジェクトを選択します |
言語 | プログラミング言語 |
包装 | パッキンタイプ |
Javaバージョン | jdkバージョン |
バージョン | プロジェクトのバージョン番号 |
名前 | プロジェクト名 |
説明 | プロジェクトの説明 |
パッケージ | パッケージ名、通常はデフォルト |
(3)依存パッケージとSpringBootのバージョンを選択し、[次へ]をクリックします。
(4)プロジェクト名を入力し、プロジェクトのローカルストレージパスを選択して、[完了]をクリックします。
(5)プロジェクトが正常に作成され、HelloControllerが作成されます。
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello SpringBoot Quick";
}
}
プロジェクトのディレクトリ構造は次のとおりです。
リソースの下のファイルディレクトリの説明:
- static:js、image、cssを含むすべての静的リソースを保存します。
- テンプレート:freemarker、thymeleafなどのすべてのテンプレートページを保存します。
- application.properties:SpringBoot構成ファイル。springbootのデフォルトのポート番号は8080です。デフォルトのポート番号とコンテキストパスを変更する場合は、application.propertiesまたはapplication.ymlで設定するだけで済みます。これについては後で詳しく説明します。
(6)プロジェクトを開始し、ブラウザのアドレスバーにhttp:// localhost:8080 / helloと入力します。このページに返されるデータは次のとおりです。