目次
Spring Boot のコア コンポーネントSpring Boot は、現在人気のある多くの基本的な機能コンポーネントのカプセル化を公式に提供します。名前は通常、 spring-boot-starter-quartz スケジュールされたタスク コンポーネントや spring-boot-starter-thymeleaf など、 spring-boot-starter で始まります。ページ. テンプレートエンジンなど
Spring Boot の利点
Spring Boot を学ぶ理由
「構成より規約」とは
Spring、Spring Boot、Spring Cloud の関係
ホームページ Java &#&ベース スプリングブーツとは何ですか?

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

Nov 29, 2022 am 11:46 AM
spring spring boot

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Spring Boot と OpenAI の出会いによる新しいプログラミング パラダイム Spring Boot と OpenAI の出会いによる新しいプログラミング パラダイム Feb 01, 2024 pm 09:18 PM

2023年、AI技術が注目を集め、プログラミング分野を中心にさまざまな業界に大きな影響を与えています。 AI テクノロジーの重要性に対する人々の認識はますます高まっており、Spring コミュニティも例外ではありません。 GenAI (汎用人工知能) テクノロジーの継続的な進歩に伴い、AI 機能を備えたアプリケーションの作成を簡素化することが重要かつ緊急になっています。このような背景から、AI 機能アプリケーションの開発プロセスを簡素化し、シンプルかつ直観的にし、不必要な複雑さを回避することを目的とした「SpringAI」が登場しました。 「SpringAI」により、開発者はAI機能を搭載したアプリケーションをより簡単に構築でき、使いやすく、操作しやすくなります。

Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Apr 28, 2024 am 11:46 AM

Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

Springプログラマティックトランザクションの実装方法は何ですか? Springプログラマティックトランザクションの実装方法は何ですか? Jan 08, 2024 am 10:23 AM

Spring プログラムによるトランザクションを実装する方法: 1. TransactionTemplate を使用する; 2. TransactionCallback および TransactionCallbackWithoutResult を使用する; 3. Transactional アノテーションを使用する; 4. TransactionTemplate を @Transactional と組み合わせて使用​​する; 5. トランザクション マネージャーをカスタマイズする。

Spring でトランザクション分離レベルを設定する方法 Spring でトランザクション分離レベルを設定する方法 Jan 26, 2024 pm 05:38 PM

Spring でトランザクション分離レベルを設定する方法: 1. @Transactional アノテーションを使用します; 2. Spring 構成ファイルに設定します; 3. PlatformTransactionManager を使用します; 4. Java 構成クラスに設定します。詳細な導入方法: 1. @Transactional アノテーションを使用し、トランザクション管理が必要なクラスまたはメソッドに @Transactional アノテーションを追加し、属性に分離レベルを設定します。 2. Spring の設定ファイルなどで

Spring プロジェクトでの JUnit 単体テスト フレームワークの適用 Spring プロジェクトでの JUnit 単体テスト フレームワークの適用 Apr 18, 2024 pm 04:54 PM

JUnit は Spring プロジェクトで広く使用されている Java 単体テスト フレームワークであり、次の手順で適用できます。 JUnit 依存関係を追加します。 org.junit.jupiterjunit-jupiter5.8.1test テスト ケースを作成します。 @ExtendWith(SpringExtension.class) を使用して拡張機能を有効にします。 @Autowired を使用して Bean を注入し、@BeforeEach と @AfterEach を使用して準備とクリーンアップを行い、テスト メソッドを @Test でマークします。

Spring アノテーションの公開: 一般的なアノテーションの分析 Spring アノテーションの公開: 一般的なアノテーションの分析 Dec 30, 2023 am 11:28 AM

Spring は、Java 開発を簡素化し、強化するための多くのアノテーションを提供するオープンソース フレームワークです。この記事では、一般的に使用される Spring アノテーションについて詳しく説明し、具体的なコード例を示します。 @Autowired: Autowired @Autowired アノテーションを使用して、Spring コンテナーに Bean を自動的に接続できます。依存関係が必要な場合に @Autowired アノテーションを使用すると、Spring はコンテナー内で一致する Bean を見つけて自動的に注入します。サンプルコードは次のとおりです。

Docker と Spring Boot の技術的実践: 高パフォーマンスのアプリケーション サービスを迅速に構築する Docker と Spring Boot の技術的実践: 高パフォーマンスのアプリケーション サービスを迅速に構築する Oct 21, 2023 am 08:18 AM

Docker と SpringBoot の技術的実践: 高パフォーマンスのアプリケーション サービスを迅速に構築する はじめに: 今日の情報化時代において、インターネット アプリケーションの開発と展開はますます重要になっています。クラウド コンピューティングと仮想化テクノロジの急速な発展に伴い、軽量コンテナ テクノロジとして Docker が広く注目され、応用されるようになりました。 SpringBoot は、Java アプリケーションを迅速に開発および展開するためのフレームワークとしても広く認識されています。この記事では、Docker と SpringB を組み合わせる方法について説明します。

Spring Security 権限制御フレームワークの使用ガイド Spring Security 権限制御フレームワークの使用ガイド Feb 18, 2024 pm 05:00 PM

バックエンド管理システムでは、通常、さまざまなユーザーのインターフェイスへのアクセスを制限するために、アクセス許可制御が必要です。ユーザーに特定の権限がない場合、特定のインターフェイスにアクセスできません。この記事では、waynboot-mall プロジェクトを例として、一般的なバックエンド管理システムがアクセス許可制御フレームワーク SpringSecurity を導入する方法を紹介します。 waynboot-mall プロジェクトアドレス: https://github.com/wayn111/waynboot-mall 1. SpringSecurity とは SpringSecurity は、Spring フレームワークをベースとした、強力かつ柔軟なセキュリティの提供を目的としたオープンソース プロジェクトです。 Java アプリケーションの場合。

See all articles