【Spring Boot】 (1) Spring Boot プロジェクトの作成と利用


序文

今日のソフトウェア開発の世界では、Spring Boot は大きな注目を集めている Java フレームワークです。これは、開発者に Java アプリケーションを構築するための簡素化された効率的な方法を提供しますこの記事では主に Spring Boot の概念と利点を紹介し、さまざまな方法で Spring Boot プロジェクトを作成する方法を示し、最後に Spring Boot を通じて「Hello World」を出力する方法を示します。

1. Spring Bootとは

1.1 まずは Spring Boot について理解する

Spring Boot は Java アプリケーションを構築するためのオープンソース フレームワークであり、Spring Framework のサブプロジェクトであるため、Spring Boot プロジェクトも Spring プロジェクトであると言えますSpring Boot は Spring アプリケーションの開発プロセスを簡素化し、加速することを目的としています。デフォルト構成と自動構成を提供することで、開発者は面倒な構成や統合の問題にあまり注意を払うことなく、ビジネス ロジックの実装に集中できます。

簡単に言えば、Spring 的诞生是为了简化 Java 程序的开发,而 Spring Boot 的诞生则是为了简化 Spring 程序的开发

Spring Boot (Spring Scaffold) の翻訳から、足場は家を建てるために建てられ、その目的は家の建設をスピードアップすることであることがわかります; Spring Scaffold は、Spring プログラムの開発をスピードアップするために作成されたことを意味します。

1.2 Spring Boot の核となる設計思想

Spring Boot の核となる設計アイデアは约定大于配置(Convention Over Configuration)自动配置(Auto-configuration)です。

1. 設定よりも規約

Spring Boot は一系列的约定デフォルトの動作を提供するために使用されるため、ほとんどの場合、開発者は手動で構成する必要がなく、それによってプロジェクトの複雑さが軽減されますたとえば、Spring Boot Web プロジェクトを作成する場合、Tomcat または Jetty コンテナーを明示的に構成する必要がなく、デフォルトで組み込み Web サーバーが構成されます。

2. 自動構成
Spring Boot プロジェクトは、アプリケーションとクラスパス内のコンポーネントの依存関係に従って、アプリケーションのさまざまな関数を自動的に構成し、アセンブルしますこれは、プロジェクトにいくつかの特定の依存関係を導入できることを意味し、Spring Boot はこれらの依存関係に基づいて対応する関数を自動的に構成するため、多くの手動構成プロセスが簡素化されます。

1.3 Spring Boot の利点

Spring Boot を学習して使用すると、次のような多くの利便性がもたらされます。

  1. 開発効率の向上: Spring Boot约定大于配置自动配置その機能により、開発プロセスがより効率化されます。これにより定型コードの記述が大幅に減り、開発者はビジネス ロジックの実装に集中できるようになり、開発効率が向上します

  2. 簡素化された構成: Spring Boot には多くの組み込みのデフォルト構成があるため、開発者は多数のオプションを手動で構成する必要がありませんエラーの可能性を減らすだけでなく、プロジェクトの複雑さも大幅に軽減します。

  3. 組み込みサーバー: Spring Boot には、Tomcat、Jetty などの一般的に使用される Web サーバーが含まれており、アプリケーションを実行可能な JAR ファイルにパッケージ化して実行することが非常に簡単になります追加の独立した Web サーバーを展開する必要はなく、アプリケーションをさまざまな環境に簡単に展開できます。

  4. マイクロサービスのサポート: Spring Boot は、マイクロサービス アーキテクチャの構築を適切にサポートします。さまざまなマイクロサービスを簡単に作成および管理できます。Spring Cloud プロジェクトを通じて、サービスの登録と検出、ロード バランシング、サーキット ブレーカー モードなどのマイクロサービスも実現できます。機能。

  5. 多数の開始依存関係: Spring Boot は、Spring Data JPA、Spring Security、Thymeleaf など、一般的に使用されるさまざまなライブラリやフレームワークをカバーする、事前設定された「スターター」依存関係を多数提供します。これらのスターター依存関係により、他のフレームワークを統合するプロセスが簡素化され、機能豊富なアプリケーションの構築が容易になります。

2. Spring Bootプロジェクトの作成

2.1 IDEA で作成する

IDEA を使用して Spring Boot プロジェクトを作成する場合、コミュニティ エディションを使用している場合は、最初にSpring Boot Helperプラグインをインストールする必要がありますが、IDEA のバージョンがバージョン 21 以前の場合、このプラグインはバージョン22から有料になりました。

もちろん、プロフェッショナル版であれば、このプラグインをインストールする必要はありません。結局のところ、VIP です。以下は、IDEA 2022 Professional Edition を使用して作成された Spring Boot プロジェクトを示しています。

  1. まず、IDEA を使用して新しいプロジェクトを作成します

以下の図に示すように、

選択した JDK バージョンとデフォルトの Java バージョンは一致している必要があります。一致していないと作成が失敗します。

  1. 「次へ」をクリックし、Spring Boot バージョンと必要な依存関係を選択します。

バージョンを選択する場合、JDK 8 を使用するため、Spring Boot のバージョンは 2.xx が選択され、3.xx バージョンは JDK17 などの新しいバージョンを使用する必要があります。

次に、必要な依存関係を選択します。

  1. 最後に、[作成] を選択して作成します。

    スタートアップ クラスと実行可能な三角形のシンボルが表示されれば、作成は成功です。

2.2 Webページで作成する

IDEA を使用して Spring Boot プロジェクトを作成する場合、 start.spring.ioアドレスが見つかりました。このアドレスを開くと、Web ページ上で直接 Spring Boot プロジェクトを作成できます。

  1. URLを開く


この時点で、さまざまなオプションを見つけることができます。このうち、左側はいくつかの基本的な構成オプションであり、右側は必要な依存関係の選択です。

  1. 構成を選択する


選択した内容は、IDEA を使用して作成したときに選択した内容とまったく同じです。

  1. 依存することを選ぶ

  1. zipファイルをダウンロードする


クリックしてGENERATE圧縮パッケージをダウンロードします。もちろん、「次へ」をクリックしEXPLOREてプレビューすることもできます。

  1. ダウンロードした圧縮パッケージを解凍し、IEDA を使用して解凍されたファイルを開きます

解凍:

IEDA で開く:


5. この時点で、Web ページを使用して Spring Boot プロジェクトが正常に作成されました。

さらに、Alibaba Cloud start.aliyun.comを使用して作成することもでき、作成方法はまったく同じです。

2.3 プロジェクトのディレクトリ構造

Spring Boot プロジェクトが作成されると、以下に示すようなディレクトリ構造が表示されます。

これは典型的な Spring Boot プロジェクトのディレクトリ構造です。各ディレクトリの簡単な説明は次のとおりです。

  • src/main/java: メインの Java コードが保存されるディレクトリ。これには通常、コントローラー (コントローラー)、モデル (モデル)、データ アクセス レイヤー (リポジトリ) など、プロジェクトのメイン コード ロジックが含まれます。

  • src/main/resources: メインのリソース ファイルの格納ディレクトリ。ここには、設定ファイル、静的リソースファイル、テンプレートファイルなどを配置できます。application.propertiesまたは、application.yml通常はアプリケーションのプロパティを構成するために使用されます。

  • src/test: テストコードが保存されているディレクトリ。ここでは、プログラム コードをテストするためのさまざまなテスト ケースを作成できます。

  • pom.xml: Maven プロジェクトの設定ファイル。Maven は Spring Boot プロジェクトのデフォルトのビルド ツールであり、pom.xml ファイルを通じてプロジェクトの依存関係とビルド設定を構成します。

  • .mvn: これには、Maven を手動でインストールせずに Maven ビルドやその他の Maven タスクを実行するための Maven Wrapper 関連ファイルが含まれています。

  • mvnwそしてmvnw.cmd: これは、Maven をインストールせずに Maven コマンドを実行するための Maven ラッパーのスクリプトです。

  • HELP.md: Markdown 形式のヘルプ ドキュメント ファイル。これは、プロジェクトに関する簡単な紹介、よくある質問 (FAQ)、一般的なコマンド、クイック スタート ガイドなどを提供し、開発者がプロ​​ジェクトをすぐに理解して使用できるようにするために使用されます。

3. ハローワールド

3.1 スタートアップクラスを実行する

スタートアップ クラスのメソッドをクリックしてmainSpring Boot プロジェクトを実行すると、次の図に示すように、スタートアップが成功します。

出力されたログを開始すると、デフォルトのポート番号が 8080 であることがわかります。

3.2 ブラウザページから Hello World を出力する

demoディレクトリの下にサブディレクトリを作成し、その中にクラスcontrollerを作成しますHelloControllerこれは、ルートからの HTTP リクエストを処理し、応答として「Hello World」文字列を返す単純な Spring Boot コントローラ (Controller) クラスです/hello

@Controller
@ResponseBody
public class HelloController {
    
    

    @RequestMapping("/hello")
    public String hello(){
    
    
        return "Hello World";
    }
}

このコードの説明は次のとおりです。

  • @Controller: このアノテーションは、クラスを Spring コントローラー クラスとしてマークします。これは、これが HTTP リクエストを処理するコントローラーであることを Spring フレームワークに伝えます。

  • @RequestMapping("/hello"): このアノテーションは/helloパスをhello()メソッドにマップします。クライアントが にリクエストを送信すると、Spring Boot はリクエストを処理するメソッドを/hello呼び出します。hello()

  • @ResponseBody: このアノテーションは、ビュー ページにジャンプするのではなく、メソッドの戻り値を HTTP 応答のコンテンツとして直接返すように Spring に指示します。この例では、hello()メソッドによって返された「Hello World」文字列が HTTP 応答としてクライアントに直接返されます。

この単純な Spring Boot プログラムは、HTTP リクエストを処理し、レスポンスを返す基本的なコントローラーを作成する方法を示しています。このプログラムを実行した後、ブラウザでアクセスするとhttp://localhost:8080/hello、応答として「Hello World」という文字列がブラウザに出力されるのがわかります。

3.3 合意の具体化は構成よりも優れている

上記の最初の Spring Boot プログラムでは、次のように、規則が設定よりも優れていることがわかります

  1. 命名規則: Spring Boot では、デフォルトで、コントローラーのクラスとメソッドの命名規則によってその動作が決まります

    • この例では、HelloControllerクラスは としてマークされている@Controllerため、Spring Boot はそれをコントローラー クラスとして認識し、HTTP リクエストを処理します。
    • hello()メソッドは、パスからの HTTP リクエストを@RequestMapping("/hello")処理するようにマークされています。/hello
    • これらのデフォルトの命名規則により多くの構成が不要になるため、開発者はコントローラーのクラスとメソッドおよびリクエスト パスの間のマッピングを手動で構成する必要がありません。
  2. @ResponseBodyアノテーション:hello()メソッドでは、アノテーションが使用され@ResponseBody、メソッドの戻り値を HTTP 応答の内容として直接返すように Spring Boot に指示します。

    • hello()これは、返された「Hello World」文字列が直接応答のコンテンツになるため、メソッドに追加のビュー テンプレートを定義する必要がないことを意味します。
    • この規則により、応答を処理するプロセスが簡素化され、開発者はビューのレンダリングを気にせずにビジネス ロジックに集中できるようになります。
  3. デフォルト構成: Spring Boot は、デフォルト Web サーバー (Tomcat、Jetty など)、デフォルトのデータソース構成、デフォルトのログ構成など、多数のデフォルト構成を提供します。これらのデフォルト構成はほとんどの場合のニーズを満たすことができ、手動構成の作業が軽減されます。開発者は、必要な場合にのみ構成の上書きを実行する必要があります。

これらの規則により、上記のコードで多数の構成を明示的に実行するのではなく、Spring Boot の規則とデフォルト構成に依存します。これにより、コードが簡潔で読みやすくなり、不要な冗長コードが削減され、開発効率が向上します。これは、設定よりも規約の典型的な実施形態であり、Spring Boot アプリケーションの開発をより簡単かつ効率的にします。

おすすめ

転載: blog.csdn.net/qq_61635026/article/details/132118556