[Spring Boot] クイック スタート チェックリスト

著者について

序文

著者はこれまでに、自動アセンブリの原則、MVC、セキュリティ、監視、統合データベース、統合 Redis、ログ、スケジュールされたタスク、非同期タスクなどを含む Spring Boot シリーズを執筆しています。この記事では、すべての内容を 1 つの記事に要約します。 Spring Boot について 1 つの記事で簡単に紹介します。

列アドレス:

https://blog.csdn.net/joker_zjn/category_12439661.html?spm=1001.2014.3001.5482

目次

1.自動組立の原理

2.MVC

3.安全性

4.モニタリング

5.データベースの統合

6.Redisの統合

7.ログ

8. スケジュールされたタスク、非同期メッセージ、非同期タスク

9. Spring Bootの各バージョンの変更点を確認する方法


1.自動組立の原理

記事リンク:

Spring Boot 自動アセンブリ原理の詳細説明_springboot 自動アセンブリ原理__BugMan のブログ - CSDN ブログ

ご存知のとおり、Spring Boot は Spring フレームワークをカプセル化し、Spring アプリケーションの開発とデプロイメントのプロセスを簡素化する「すぐに使える」フレームワークです。Spring Boot は、その基盤となる「自動配線」メカニズムが、アプリケーションの依存関係とニーズに基づいて Spring アプリケーションのさまざまなコンポーネントを自動的に構成するため、多くの構成コードを手動で記述する必要がなく、すぐに使用できます。

Spring Boot の自動アセンブリについては、インターネット上にたくさんの記事がありますが、最初にこの方法を調整し、次にあの方法を調整するだけで、ほとんどのアイデアが明確ではありません。大きく 2 つのステップに分かれています。:

  1. オートロード
  2. 自動構成

1.自動ローディング

必要なすべてのリソース (クラス、構成ファイルなど) を自動的にロードします。いくつかのことはIOCに自動的にロードする必要があるため、処方箋に従って薬を服用できるように、それらを記録するためのリストを用意するのは当然です。Spring Boot にロードする必要があるクラスのリストが存在します。もちろん、このリストに従ってロードするだけでは十分ではありません。Spring Boot では一部のクラスを除外するように指定することもできるため、Spring Boot は最終的に依存関係リストと解放する必要があるリストを結合して、最終的にすべての依存関係を取得します。ロードする必要があるリスト。

2. 自動設定

自動ロード プロセスは、ロードする必要がある依存関係のリストを取得しました。次のステップでは、これらの依存関係を IOC にロードします。ただし、IOC にロードするだけでは明らかに十分ではありません。一部のクラスの属性も初期化する必要があります。 Spring Boot はこのステップでこれを実行し、設定に従ってロードされたエンティティ クラスを初期化します (変数に値を代入します)。

Spring Boot の自動アセンブリ プロセス全体は次のようになります。次に、より詳細なソース コード プロセスを学習できます。

Spring Boot 自動アセンブリ原理の詳細説明_springboot 自動アセンブリ原理__BugMan のブログ - CSDN ブログ

この記事では概要を示し、その後、自動アセンブリの原理とプロセスについて簡単な言葉で説明し、アイデアが非常に明確になるようにします。

2.MVC

記事リンク:

Spring Boot で Spring MVC を使用する方法_springboot は springmvc__BugMan のブログを使用します - CSDN ブログ

Spring Boot は Spring+Spring MVC を統合しており、Spring MVC の本質は、コア サーブレット (DispatcherServlet) の周囲にリクエスト制御コンポーネントの完全なセットを提供することです。

したがって、Spring Boot でリクエストを処理するには、Spring MVC コンポーネントを直接構成できます。

3.安全性

記事リンク:
Spring Boot Security_springboot Security Framework__BugMan’s Blog-CSDN Blog

バックエンドでは、セキュリティは主にユーザー アクセスを制御して、対応する権限を持つユーザーが対応するリソースにアクセスできるようにすることを目的としています。主なポイントは 2 つあります。

  • 認証
  • 承認する

認証、それが誰であるかを識別します。権限を承認および確認します。

Spring Security は、Spring エコシステムのセキュリティ コンポーネントとして Spring でリリースされ、一連のセキュリティ サービスとアプリケーションのセキュリティを管理する機能を提供します。Spring Security の主な目標は、一般的な認証および認可スキームをサポートしながら、アプリケーションを不正アクセスから保護することです。Spring Boot では、Spring Security を導入することで、アプリケーションの認証および認可ポリシーを構成できます。この記事では、Spring Boot での Spring Security の統合使用について詳しく紹介します。

4.モニタリング

記事リンク:

Spring Boot Monitoring_springboot Monitoring__BugMan のブログ-CSDN ブログ

運用および保守プロセスの重要な部分として、監視はアプリケーションの問題や障害を特定するのに役立ちます。重要なパフォーマンス指標を監視することで、異常な動作を迅速に検出でき、問題の根本原因のトラブルシューティングに役立ち、それによって障害の回復時間を短縮できます。監視されたデータはチューニングの基礎としても使用でき、開発者と運用チームはこのデータを使用してパフォーマンスのボトルネックを特定し、コードとアーキテクチャを改善してアプリケーションのパフォーマンスと応答時間を改善できます。

モニタリングには通常、次の 2 つの主要な側面があります。

  • サーバーの監視
  • アプリケーション自体の監視

サーバーの監視:

サーバーの監視には、現在のメモリ、ディスク、CPU、IO などのリアルタイム監視が含まれます。

アプリケーション自体の監視:

アプリケーション自体の監視には、アプリケーション自体のバージョン情報と名前、さらにその依存関係、構成などが含まれます。

Spring Boot は独自の監視コンポーネントである Spring Boot Actuator を提供しており、上記の 2 つの基本的な次元に加えて、他の多くの次元から Spring Boot アプリケーションを監視できます。この記事ではこのコンポーネントの使い方を詳しく紹介します。

5.データベースの統合

記事リンク:

Spring Boot の一般的なデータベース開発テクノロジの概要: JDBCTemplate、JPA、Mybatis_jdbctemplate、mybatis__BugMan のブログ - CSDN ブログ

データベース開発は常に JAVA 開発の中核の 1 つであり、現在の JAVA EE の基礎フレームワークとして、Spring Boot 自体は基本的に JDBC をカプセル化する JDBCTemplate フレームワークを搭載しており、Spring Boot がデータベース開発をネイティブにサポートします。同時に、Spring Boot は他の優れた永続層フレームワークを排除せず、非常に低コストでスムーズにアクセスできるようにします。

この記事では、最も一般的に使用される 3 つの永続層フレームワーク、JdbcTemplate、JPA、mybatis と、Spring Boot にアクセスして開発する方法を紹介します。

6.Redisの統合

記事リンク:

Redis_boot プロジェクトを使用して Spring Boot に redis__BugMan のブログを導入する - CSDN ブログ

現在の J2EE アプリケーションで Redis がどのように一般的に使用されているかについて詳しく説明する必要はありませんが、その一般的な使用法には、次のような J2EE の多くの重要なポイントが含まれます。

  1. キャッシュ: Redis は、データベースの負荷を軽減するために、一般的なデータを保存するためのキャッシュとしてよく使用されます。頻繁にアクセスされるデータを Redis に保存すると、データベース クエリの数が大幅に削減され、アプリケーションの応答性が向上します。Spring フレームワークの Spring Cache モジュールは、キャッシュ プロバイダーとしての Redis の統合をサポートしています。

  2. セッション管理: 分散環境では、ユーザー セッション データを Redis に保存することで、セッションの共有と負荷分散を実現できます。これにより、ユーザーは複数のアプリケーション サーバー間で同じセッション状態を維持できるようになります。

  3. メッセージ キュー: Redis のパブリッシュ/サブスクライブ メカニズムにより、Redis は強力なメッセージ キュー ミドルウェアになります。これを使用して、通知システム、リアルタイム チャット、タスク キューなどのイベント駆動型アプリケーションを構築できます。

  4. 分散ロック: Redis を使用して分散ロックを実装し、複数のクライアントが同時に共有リソースを変更することを防ぎ、それによってデータの一貫性とセキュリティを確保できます。

  5. カウンターとリーダーボード: Redis のカウンター機能は、カウンターとリーダーボードの構築に最適です。いいね数カウントや訪問統計、ランキングなどの機能を簡単に実装できます。

  6. キャッシュ ウォームアップ: アプリケーションの起動時に、Redis を使用してアプリケーションに必要なデータをロードし、起動時間とデータベースの負荷を軽減できます。

  7. 分散キャッシュ管理: Redis は分散キャッシュ管理をサポートしており、複数の Redis ノードにキャッシュ データを保存して可用性とフォールト トレランスを向上させることができます。

  8. リアルタイム データ分析: Redis のデータ構造と操作機能により、リアルタイム統計やモニタリングなどのリアルタイム データ分析やダッシュボード構築に適しています。

Spring Boot は Redis を簡単に統合できます。これについては記事で詳しく説明します。

7.ログ

記事リンク:

Spring Boot Log__BugMan のブログ-CSDN ブログ

歴史的な理由により、JAVA 分野には Log4j、Logback、log4j2 などのロギング フレームワークが多数存在します。ログ フレームワークが異なれば、ログ出力形式、API、基礎となるクラスも異なるため、大規模なオープン ソース J2EE フレームワークである Spring Boot は、さまざまなログに適応する必要があります。Spring Boot は、デフォルトでログ ファサードとして SLF4J を使用します。 log ログを記録します。ここでは、SLF4J が適応を完了する方法については詳しく説明しません。SpringBoot にはログ ファサードが付属しており、ログ ファサードを使用してログを出力することだけを知っておく必要があります。ログの実装を切り替えたい場合は、LogBack を削除して、新たに実装されました。

8. スケジュールされたタスク、非同期メッセージ、非同期タスク

スケジュールされたタスクの記事リンク:

Spring Boot スケジュールされたタスク_springboot スケジュールされたタスク フレームワーク__BugMan のブログ - CSDN ブログ

非同期メッセージと非同期タスクの記事リンク:

Spring Boot の非同期タスク、非同期メッセージ_非同期メッセージ通知__BugMan のブログ - CSDN ブログ

スケジュールされたタスク:

J2EE アプリケーションでは、スケジュールされたタスクは次のような幅広い用途に使用できますが、これらに限定されません。

  1. 自動化とスケジュールされたタスク: スケジュールされたタスクを使用すると、開発者は手動介入なしで繰り返しのタスクやスケジュールされたタスクを自動化できます。これには、定期的なデータベースのバックアップ、レポートの生成、期限切れデータの消去などが含まれます。

  2. バッチ処理: スケジュールされたタスクは、夜間の大量のデータの処理、データのインポート/エクスポートなどのバッチ処理に非常に役立ちます。スケジュールされたタスクにより、バッチ処理ジョブを定期的にトリガーして、データをタイムリーに処理することができます。

  3. キャッシュの更新: スケジュールされたタスクを使用してキャッシュを定期的に更新し、アプリケーションのキャッシュされたデータが基になるデータ ソースとの同期を確実に保つことができます。これは、アプリケーション ユーザーに最新のデータを提供するのに役立ちます。

  4. 電子メール通知とリマインダー: スケジュールされたタスクを使用して、スケジュールされたレポート、請求書のリマインダー、誕生日の願いなどの定期的な電子メール通知、リマインダー、またはアラートを送信できます。

  5. スケジュールされたデータ収集: データ ウェアハウスおよびデータ分析アプリケーションでは、スケジュールされたタスクを使用して、さまざまなデータ ソースからデータを定期的に収集し、さらなる分析やレポートを作成できます。

  6. セキュリティの監査と監視: スケジュールされたタスクを使用して、ログイン試行、異常検出などのアプリケーションのアクティビティを記録および監視できます。これは、アプリケーションのセキュリティと可用性の提供に役立ちます。

  7. スケジュールされたメンテナンス: スケジュールされたタスクは、データベース インデックスの再構築、データ クリーニング、ログ クリーニング、その他の操作を含むアプリケーションの定期的なメンテナンスに使用できます。

  8. スケジュールされたレポートの生成: スケジュールされたタスクを使用して、販売レポートや統計データなどの定期的なレポートを生成および配布できます。

  9. リソース管理: スケジュールされたタスクは、未使用のリソースの解放、接続プールの管理、リソース使用量の制限などのリソース管理に役立ちます。

  10. パフォーマンスの監視と最適化: スケジュールされたタスクを通じて、アプリケーションのパフォーマンスを定期的に監視し、アプリケーションが効率的に実行できるようにパフォーマンスを最適化するための措置を講じることができます。

Spring Boot はスケジュールされたタスクのサポートを提供します。これについては記事で詳しく説明します。

非同期メッセージと非同期タスク:

まず、コンピューターのスレッド リソースには限りがあり、開くことができるスレッドの数には限りがあるため、ビジネスを処理するスレッドは非常に貴重であり、これらのスレッドは効率的に使用する必要があることを知っておく必要があります。

実際のビジネス開発では、非常に時間のかかる SQL の実行など、非常に時間がかかる操作もあります。スレッドはその場でブロックし、操作が終了するのを待つことしかできません。これは明らかに、ビジネスを処理するためのスレッド リソースの無駄です。これらの時間のかかる操作の中には、ディスク IO、テキスト メッセージング、その他のサービスなど、リアルタイムのパフォーマンスに影響されない操作がいくつかあります。これらの操作はすぐに実行する必要はありませんが、ただ実行してください。非同期的にスレッド リソースを解放し、システムのスループットを大幅に向上させます。

非同期メッセージと非同期タスクは、スレッド プールを使用して直接実装できます。

MQ+ スレッド プールを使用して、より大きな容量を実現することもできます。

Spring Boot はこれを適切にサポートしており、この記事で詳しく紹介します。

9. Spring Bootの各バージョンの変更点を確認する方法

記事リンク:

Spring Bootの各バージョンの変更点を確認する方法_springboot安定版__BugManのブログ - CSDNブログ

Spring Boot の内容は上記の 8 点を含めるだけで十分ですか? もちろんそれだけでは不十分で、Spring Boot を使用する場合、最初に使用するバージョンを選択する必要がありますが、公式 Web サイトを開くと、次のような内容が表示されます。

少しわかりにくいですよね?各バージョンは何をするのでしょうか? それぞれの特徴は何ですか? どのような特徴があるのでしょうか? Spring Boot バージョンを選択するためにどのようなテクニックを使用するかが、上記の記事の焦点です。

おすすめ

転載: blog.csdn.net/Joker_ZJN/article/details/132849856