春と春のブーツ:春と春のブーツの違い

公開: 2021-01-13

SpringFrameworkの拡張としてSpringBootは、Springでの開発をより速く、より効率的かつ便利にするために広く使用されています。 この記事では、Spring Bootを使用していたパラメーターのいくつかを見て、アプリケーション開発に必要な時間と労力を大幅に削減できます。

目次

春とは?

簡単に説明すると、Springは、Javaベースのアプリケーションを開発するための包括的なインフラストラクチャサポートを提供する、人気のある統合フレームワークです。 オープンソースプラットフォームは軽量で疎結合であり、依存性注入やアスペクト指向プログラミングなどの重要な機能がいくつか備わっています。

依存性注入は緩い結合を引き出す役割を果たしますが、アスペクト指向プログラミングは重要な分野横断的なタスクの実装に役立ちます。

また、さまざまなタスクの実行専用のさまざまなモジュールが付属しています。 これらのいくつかは、Spring Test、Spring Security、Spring Web、Spring JDBC、Spring AOP、Spring MVC、SpringORMです。

これらの各モジュールは、アプリケーション開発にかかる時間を大幅に短縮するのに役立ちます。 たとえば、ボイラープレートコード–以前のJavaベースの開発では、特定のレコードをデータソースに挿入するという単純な作業のために大量のボイラープレートコードが必要でした。 ただし、JDBCTemplateを使用する場合、同じタスクを数行のコードといくつかのマイナーな構成で実行できます。

スプリングブーツ

Springの上に構築されたSpringBootは、アプリケーションのセットアップで重要だった長いボイラープレート構成を排除できるモジュールです。

Spring Bootは、Springフレームワークの意見に基づいた視点を考慮して動作し、より迅速で効率的なアプリケーション開発に道を開きます。 自動構成は最も便利な機能です。

厳密なメトリックとヘルスチェックを実行し、外部化された構成を処理します。 Springのスムーズな機能のために有効にされた自動構成があります。 また、アプリケーションの展開における複雑さを軽減するためにサーバーが組み込まれています。

また読む:初心者のためのトップ7のエキサイティングな春のブートプロジェクトとトピック

スプリングとスプリングブーツの違い

このセクションでは、SpringフレームワークとSpringBootの主な違いを詳しく見ていきます。

1.フレームワーク

Springはオープンソースで軽量であり、エンタープライズアプリケーションの構築に適しています。 一方、Spring Bootは、RESTAPIの開発に適したSpringFrameworkの拡張機能です。 Springのアプリケーションは緩く結合されていますが、SpringBoot'はスタンドアロンです。

2.HTTP基本認証

SpringとSpringBootがどのようにセキュリティ構成、つまりデフォルトのHTTP基本認証を有効にするかを調べてみましょう。 これは、セキュリティを有効にするために、いくつかの依存関係と構成を有効にする必要があることを示しています。

Springの場合、アプリケーションでデフォルトのHTTP基本認証を有効にするには、標準のspring-security-webとspring-security-configの両方の依存関係が必要です。

次のステップは、WebSecurityConfigurerAdapterを持つクラスを追加して、@EnableWebSecurityアノテーションを有効にすることです。

セキュリティを有効にするには、メモリ内認証を使用する必要があります。

Springと同様に、Spring Bootの場合でも、これらの依存関係を含める必要があります。 ただし、これは、残りを自動的に処理するspring-boot-starter-security依存関係のみを定義することで実行できます。

3.最小の依存関係

Springは、Webアプリの作成に一定数の依存関係を必要とします。 これら

<依存関係>

<groupId> org.springframework </ groupId>

<artifactId> spring-web </ ArtifactId>

<バージョン>5.2.9。リリース</バージョン>

</依存関係>

<依存関係>

<groupId> org.springframework </ groupId>

<artifactId> spring-webmvc </ ArtifactId>

<バージョン>5.2.9。リリース</バージョン>

</依存関係>

一方、Spring Bootは、1つの依存関係だけでアプリケーションを動作させることができます。

<依存関係>

<groupId> org.springframework.boot </ groupId>

<artifactId> spring-boot-starter-web </ ArtifactId>

<バージョン>2.3.4。リリース</バージョン>

</依存関係>

デフォルトで最終アーカイブに追加される、ビルド時に必要な依存関係がさらにいくつかあります。 ライブラリをテストしている間でも、Springは次のライブラリを追加します。

  • モッキート
  • 春のテスト
  • ハムクレストと
  • JUnit

Spring Bootには、さまざまなSpringモジュール専用のスタータープロジェクトが多数あります。 各モジュールに必要なライブラリが装備されています。

したがって、Springとは異なり、Springブートでは、ライブラリのテストでスターターの依存関係が1つだけ必要です。

4.スプリング構成

このセクションでは、SpringとSpring Bootの両方がWebアプリケーション(JSP)を構築するために必要な構成に焦点を当てます。

Springの場合、ファイルweb.xmlまたはInitializerクラスを使用して、ディスパッチャーサーブレットとその他の重要な構成を定義します。

Springでは、アノテーション@EnableWebMvcを@Configurationクラスにアクセスできるようにし、コントローラーが返すビューを解決するためのビューリゾルバーを宣言する必要もあります。

Spring Bootの場合、Webスターターを追加した後、コード全体をいくつかのプロパティに置き換えることができます。 Boot Webスターターが含まれている場合、必要な構成が自動的に追加されます。 このプロセスは、自動構成と呼ばれます。

spring.mvc.view.prefix = / WEB-INF / jsp /

spring.mvc.view.suffix = .jsp

簡単に言うと、Spring Bootは、関連する依存関係、構成、およびBeanについて意見を述べ、これらすべてを自動的に有効にするプロパティを追加します。

ただし、カスタム構成を続行する場合は、干渉しないようにSpringBootをオーバーライドできます。

5.ブートストラップ

サーブレットは、SpringとSpringBootでのアプリケーションのブートストラップを区別するものです。

Springの場合、web.xmlまたはSpringServletContainerInitializerがブートストラップエントリポイントとして使用されます。 一方、Spring Bootは、サーブレット3だけでアプリケーションをブートストラップできます。

6.展開

SpringとSpringBootはどちらも、パッケージングで最も一般的に使用されるMavenやGradleサポートなどのテクノロジーをサポートするという点で類似しています。 ただし、展開のプロセスは両方のフレームワークで異なります。

たとえば、Spring Boot Mavenプラグインは、MavenでSpringBootサポートを提供します。 また、実行可能なjarまたはwarアーカイブをパッケージ化し、アプリケーションを「インプレース」で実行することもできます。

デプロイメントに関しては、SpringBootにはSpringに比べていくつかの利点があります。

  • 組み込みコンテナのサポートがあります
  • java -jarコマンドを使用すると、jarを個別に実行できます。
  • jar内の競合は、それにつながる依存関係を削除することで回避できます。
  • アクティブなプロファイルを定義できます
  • Spring Boot Mavenプラグインは、実行可能なjarまたはwarアーカイブをサポートし、アプリケーションを「インプレース」で実行できるようにします。
  • ランダムポート生成による簡素化された統合テスト

スプリングに対するスプリングブートの利点

  1. より高速なアプリケーションのブートストラップに寄与するデフォルト構成があります
  2. Spring Bootは、Springの「スターター」依存関係について意見を述べ、よりシンプルで効率的なビルドとアプリの構成を実現します。
  3. 簡単に統合できるスタータープロジェクトがたくさんあるので、バージョンが一致しない場合でも問題はありません。 これらの一部には、spring-boot-starter-web、spring-boot-starter-data-jpa、spring-boot-starter-test、spring-boot-starter-security、spring-boot-starter-thymeleafが含まれます。
  4. tomcatやjettyなどの組み込みサーバーは、アプリケーションを実行するために明示的なサーバーを必要とするSpringと比較して、実行を容易にします。
  5. 時間を短縮し、生産性を向上させる定型コードを避けます。 Springアプリケーションは非常に多くのコード行を必要とします
  6. Spring Bootは、Springのようなデプロイメント記述子を必要としません

世界のトップ大学からオンラインでソフトウェアコース学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

Spring Bootには、従来のSpringのすべての機能が含まれていますが、アプリケーションの開発がはるかに簡単になります。 すべてのSpringBootプロパティは自動構成されているため、Springと比較して、はるかに短い時間でアプリケーションを起動して実行できます。

Spring Boot、フルスタックソフトウェア開発について詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニングを提供します。9 +プロジェクト、割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

JavaのSpringBootとは何ですか?

Spring Bootは、Webアプリの作成を容易にするSpringMVCに似たWebアプリケーションフレームワークです。 これは、Java 8などのJavaプラットフォームの新機能を利用するように設計されています。SpringBootは高い評価を得ています。つまり、開発者は、物事を成し遂げるための一般的なコードについて考えることに時間を費やす必要がありません。 SpringBootはSpringMVCとSpringDataに基づいて構築されていますが、それらとは異なり、XML構成ファイルを必要とせず、厳密に型指定され、クラスパスの内容に基づいて自動的に構成されます。 開発者は@SpringBootComponentアノテーションを使用してクラスを作成するだけで、Spring Bootはそれをコンポーネントとして登録し、Springコンテキストを作成してそれ自体を構成します。 これは、Spring Bootを使用する主な利点です。これは、開始して実行可能なサンプルアプリケーションを作成するために必要な時間を短縮するためです。

Springの依存性注入とは何ですか?

SpringとSpringBootの違いは何ですか?

SpringはJavaアプリケーションフレームワークです。 Spring Bootは、Springの軽量バージョンです。 つまり、Spring BootはSpringのサブセットであり、Springベースのマイクロサービスの作成をより便利にするために作成されています。 Spring Bootは、マイクロサービスを作成するための無料のオープンソースの超高速フレームワークです。 同じSpringプログラミングモデルを使用しますが、依存関係を減らしてより早く開始できます。 Spring Bootは、スタンドアロン(Spring Boot Starter)マイクロサービスを作成するために必要なすべてのサポートを提供します。また、サーバー側のJavaWebアプリの優れた基盤でもあります。