ホームページ  >  記事  >  Java  >  スプリングブーツとは何ですか?

スプリングブーツとは何ですか?

青灯夜游
青灯夜游オリジナル
2022-11-29 11:46:4438709ブラウズ

Spring Boot は、Pivo​​tal チームが提供する Spring ベースのフレームワークで、特定の構成方法を使用するため、開発者はボイラープレート構成を定義する必要がなくなりました。 Spring Boot は現在人気のある開発フレームワークのほとんどを統合します。Maven がすべての JAR パッケージを統合するのと同じように、Spring Boot はほぼすべてのフレームワークを統合するため、開発者は Spring プロジェクトを迅速に構築できます。

スプリングブーツとは何ですか?

#このチュートリアルの動作環境: Windows7 システム、Java8 バージョン、DELL G3 コンピューター。

Spring Boot は、Pivo​​tal チームが提供する新しい Spring ベースのフレームワークで、Spring アプリケーションの初期構築および開発プロセスを簡素化することを目的としています。このフレームワークは構成にアドホックなアプローチを使用するため、開発者が定型的な構成を定義する必要がありません。

Spring の公式 Web サイトでの定義は次のとおりです: Spring Boot は、すべての Spring ベースの開発プロジェクトの開始点です。 Spring Boot は現在人気のある開発フレームワークのほとんどを統合します。Maven がすべての JAR パッケージを統合するのと同じように、Spring Boot はほぼすべてのフレームワークを統合するため、開発者は Spring プロジェクトを迅速に構築できます。

Spring Boot の核となる設計思想は、「構成よりも規約」です。この設計原則に基づいて、Spring Boot はプロジェクトとフレームワークの構成を大幅に簡素化します。たとえば、Spring を使用して Web プロジェクトを開発する場合、web.xml、Spring、MyBatis などを設定する必要があり、それらを統合する必要もあります。 Spring Boot を使用すると、すべてが非常に簡単になります。Spring Boot は、これらのファイルの構成プロセスを簡素化するために多数のデフォルト構成を使用します。対応するスターターを導入するだけで済みます。

Spring Boot はすべてを構築できます。 Spring プロジェクトをできるだけ早く開始して実行できるように、最小限の構成を使用するように設計されています。


Spring Boot の背景

長年にわたる Spring の急速な開発と継続的な新機能の追加により、Spring はますます複雑になってきました。

Spring 公式 Web サイトにアクセスすると、Spring のすべてのサブプロジェクトとコンポーネント フレームワークを確認できます。非常に多くのサブプロジェクトとコンポーネントがあるため、Spring は徐々に扱いにくくなり、明らかにクラウドの開発トレンドに適応できなくなります。コンピューティングとマイクロサービスの時代。

そこで Spring Boot が誕生しました。 Spring Boot は Spring に基づいて構築されており、「設定よりも規約」の原則に従っており、プロジェクトやフレームワークの作成時に行う必要がある複雑な設定を回避し、開発者が最小限の作業で既存の Spring をより簡単かつ便利に使用できるようにします。 . のすべての機能コンポーネント。


Spring Boot の機能

Spring Boot の一連の機能により、マイクロサービス アーキテクチャの実装が非常に簡単になります。現在の多くのテクノロジ スタックでは、Spring Boot は Javaドメインマイクロサービスアーキテクチャの最適実装技術。

次の図は、Spring Boot のいくつかの機能を示しています。



スプリングブーツとは何ですか?図 1 Sprint Boot の機能

Spring Boot のコア コンポーネントSpring Boot は、現在人気のある多くの基本的な機能コンポーネントのカプセル化を公式に提供します。名前は通常、 spring-boot-starter-quartz スケジュールされたタスク コンポーネントや spring-boot-starter-thymeleaf など、 spring-boot-starter で始まります。ページ. テンプレートエンジンなど


さらに、Spring Boot の人気により、多くのサードパーティ ミドルウェアも Spring Boot 仕様に従って Spring Boot プロジェクトのスターターを提供しており、通常は Spring Boot の MyBatis などのコンポーネント名で始まります。コンポーネント パッケージ mybatis-spring-boot-starter。

Spring Boot のコア コンポーネントを次の図に示します。


スプリングブーツとは何ですか?図 2 Spring Boot のコア コンポーネント

Spring Boot の利点

Spring Boot は Spring の一貫した利点と機能を継承しながら、いくつかの新しい機能と特徴を追加しているため、Spring Boot は非常に使いやすく、プログラミングも容易になります。より簡単になります。

要約すると、Spring Boot には次の利点があります。
  • 「設定よりも規約」の原則に従って、Spring Boot を使用する場合、必要な設定はほとんどないか、デフォルトの設定を使用するだけです。
  • XML を使用する煩わしさを回避するには、JavaConfig を使用します。
  • Maven 構成を簡素化し、依存関係の競合を回避するスターターを提供します。
  • 埋め込みサーブレット コンテナを提供します。別の Web サーバーを必要とせずに、Tomcat、Jetty、およびその他のコンテナを埋め込むことを選択できます。これは、Tomcat やその他のミドルウェアを起動する必要がなくなったことを意味します。
  • セキュリティ監視、アプリケーション監視、正常性検出など、プロジェクトで一般的な一連の非機能機能を提供します。
  • クラウド コンピューティングおよびマイクロサービスとの自然な統合。

ソフトウェア開発の観点から見ると、開発モデルはシンプルであるほど人気が​​あり、動的になるため、開発者はビジネス ロジック自体に集中できるようになり、ソフトウェア開発効率が向上します。 Spring Boot は、アプリケーション開発のしきい値を可能な限り簡素化し、アプリケーションの開発、テスト、デプロイを容易にすることを目的としています。

Spring Boot を学ぶ理由

近年、Spring エコシステムで最も人気のある技術フレームワークは Spring Boot と Spring Cloud です。現在、さまざまな企業がマイクロサービス技術アーキテクチャの実装を推進しており、複雑なアプリケーションを複数の小さな独立したモジュールに分割し、それらを相互に干渉することなく個別に展開することで疎結合を実現し、開発効率の向上と運用保守コストの削減を目的としています。

Spring Boot は、マイクロサービス フレームワークの基盤として、エンタープライズ レベルの開発でますます使用されており、Spring Cloud の基盤となっています。 Spring Cloud を学ぶには、Spring Boot フレームワークのアーキテクチャと設計哲学を理解する必要があります。

Spring Boot は Spring エコシステムのサブプロジェクトであり、Spring フレームワークに基づいて新世代のアプリケーションを迅速かつ機敏に開発するために使用されます。同時に、現在成熟しているさまざまなサービスフレームワークとサードパーティコンポーネント(Redis、MongoDB、JPA、RabbitMQ、Quartzなど)を組み合わせ、「コンベンションオーバー」の設計思想に従ってStartersコンポーネントにカプセル化します。構成"。このようにして、ほぼゼロの構成で Spring Boot アプリケーションでこれらのコンポーネントを使用して、すぐに使用できるようになり、複雑な構成から解放され、ビジネス ロジックの開発に集中できるようになります。

Spring Boot の利点は次の側面に要約できます:
  • 素早い構築: Spring Initializr を使用すると、プロジェクトを迅速に作成し、さまざまなソリューションの迅速な統合を促進し、改善を促進する豊富なソリューションを提供できます。開発効率。
  • 依存関係の簡素化: 豊富なスターターを提供し、Maven 構成を簡素化し、バージョンの互換性の問題を回避します。
  • ワンクリックデプロイメント: Tomcat や Jetty などの組み込みサーブレットコンテナは、実行可能な JAR ファイルに直接パッケージ化して独立して実行でき、Jenkins と Docker をサポートし、自動運用とメンテナンスを簡単に実現します。
  • アプリケーション監視: サービスのステータスを簡単に監視するための Actuator 監視コンポーネントが付属しています。 Spring Boot Admin を使用すると、完全に機能するアプリケーション監視システムを簡単にデプロイできます。

一般に、Spring Boot を使用すると、構築、コーディング、構成、デプロイ、監視が非常に簡単になります。 Spring Boot は、Spring コミュニティ、さらには近年の Java コミュニティ全体において最も影響力のあるプロジェクトの 1 つであると言えます。

Spring Boot を初めて学習する読者は、あまり複雑に考える必要はありません。 Spring Boot は新しい言語や新しいテクノロジではなく、既存の一般的なフレームワークを統合し、「構成よりも規約」の原則に従い、すぐに使用できるため、それらの面倒なことに注意を払う必要がなくなりました。構成。このコンセプトを念頭に置いて、リラックスした気分で Spring Boot を学ぶことができます。

「構成より規約」とは

Spring Boot の核となる設計思想は「構成より規約」であることがわかっており、Spring Boot によって提供されるすべてのスターターはこの考え方に従って実装されています。 。では、「設定よりも規約」とは正確には何でしょうか?

「構成より規約」は「規約によるプログラミング」とも呼ばれ、ソフトウェア開発者が必要とする構成項目の数を減らし、ソフトウェアを損失することなくシンプルに保つことを目的としたソフトウェア設計パラダイムです。柔軟性。

本質的に、システム、クラス ライブラリ、またはフレームワークは適切なデフォルト値について合意する必要があり、開発者は合意に準拠していないアプリケーションの部分を指定するだけで済みます。たとえば、モデルに Product という名前のクラスがある場合、データベース内の対応するテーブルはデフォルトで product という名前になります。この規則から逸脱する場合にのみ、この名前に関する構成を定義する必要があります。たとえば、テーブルに名前を付けるなどです。製品情報。

簡単に言うと、「規約は設定よりも優れています」とは、規約に従うことを意味します。使用するツールの合意された構成が要件を満たしている場合は、この構成を省略できます。そうでない場合は、期待どおりの方法を実現するために関連する構成を変更します。

「構成より規約」は新しい概念ではありません。Maven、Spring、Grails、Grok、Apache Wicket など、多くのフレームワークが「構成より規約」設計パラダイムを使用しています。

Spring Boot は、「構成よりも規約」を重視した Spring のベストプラクティス製品です。構成ファイルやミドルウェアのデフォルト構成から組み込みコンテナーや Spring エコシステムのさまざまなスターターに至るまで、それらはすべて「構成よりも規約」という設計哲学に従っています。 Spring Boot がシンプルで使いやすく、始めやすいのは、簡素化された構成と多数の Starter があるからこそであり、また、Spring Boot が実現しているのは、「構成より規約」という設計思想の徹底でもあります。栄光。

Spring、Spring Boot、Spring Cloud の関係

Spring、Spring Boot、Spring Cloud の継続的な開発に伴い、ますます多くの開発者が Spring 軍に参加しています。初心者にとっては、Spring、Spring Boot、Spring Cloud の概念とそれらの関係についてあまり知らないかもしれませんが、一緒に見てみましょう。

Spring はオープンソースのエコシステムであり、マスターです。その核心は制御反転 (IoC) とアスペクト指向プログラミング (AOP) です。 Spring を強力にするのは IoC と AOP の 2 つのコア機能です。Spring はこれら 2 つのコア機能を中心に開発と成長を続け、Spring MVC などの一連の成熟した製品を持ち、最終的には強力な Spring エコロジカル帝国を構築します。

Spring Boot は Spring に基づいて開発されています。Spring を置き換えることを目的としたものではなく、Spring アプリケーションの作成、実行、デバッグ、デプロイメントを簡素化し、開発者が Spring を使いやすくすることを目的としています。現在成熟しているさまざまなサービス フレームワークとサードパーティ コンポーネントを組み合わせ、「構成より規約」の設計思想に従って再パッケージ化し、複雑な構成と実装を遮断し、最終的に開発者にシンプルで使いやすいセットを提供します。のコンポーネント。展開が簡単で保守が簡単な分散システム開発ツールキットです。

Spring Cloud は Spring Boot をベースにした分散マイクロサービス フレームワークであり、Spring Boot のシンプルで使いやすく便利な機能を使用して、サービス検出、サービス登録、 Spring Boot 開発スタイルを使用して、メッセージ バス、ロード バランシング、サーキット ブレーカー、データ モニタリング、およびその他の基本コンポーネントをワンクリックで開始およびデプロイできます。

マイクロサービス アーキテクチャを使用すると、サービスの数が非常に多くなり、管理が特に面倒になることは誰もが知っていますが、Spring Cloud は分散型マイクロサービス ガバナンス フレームワークであり、そのスチュワードとも言えます。これらのマイクロサービス。 Spring Cloud は大規模なハウスキーパーとして、サービス間の通信、サーキット ブレーカー、モニタリングなど、マイクロサービス システム全体を管理および維持するためのさまざまなコンポーネントとソリューションを提供する必要があります。 Spring Cloud は、Spring Boot の特性を利用して、オープンソース業界の優れたコンポーネントを統合し、マイクロサービス アーキテクチャで一連のサービス ガバナンス ソリューションを提供します。

Spring Boot は Spring Cloud で接続の役割を果たします。Spring Cloud を学習したい場合は、Spring Boot を学習する必要があります。 3 つの関係は次の図に示されています。

スプリングブーツとは何ですか?

図 3 Spring、Spring Boot、Spring Cloud の関係

このように理解できます。これはまさに 2 つの理由によるものです。強力な IoC と AOP 強力な機能があってこそ、強力な Spring を実現できます。Spring エコシステムの継続的な開発により Spring Boot が誕生し、Spring Boot の開発とデプロイメントが簡素化されたことで、Spring Cloud マイクロサービス ガバナンス ソリューションを完全に実装できるようになりました。

プログラミング関連の知識について詳しくは、プログラミング教育をご覧ください。 !

以上がスプリングブーツとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。