回答:
@Controller
、で注釈が付けられたクラスであり、さまざまなHTTPリクエストを使用してアクセスできるメソッドを実装します。@RestController
RESTベースのAPIを実装するのと同等です。したがって、Spring MVCはWebアプリケーションで使用されるフレームワークであり、Spring BootはSpringベースのプロダクション対応プロジェクト初期化子です。SO のSpring MVCタグWikiやSpring BootタグWikiにアクセスすると便利です。
Spring Boot
からWeb機能を実行できることを意味しSpring MVC
ますか?
Spring MVCとSpring Bootは他の回答でも詳しく説明されているので、ここで繰り返さずに、具体的な内容に直接ジャンプします。Spring BootとSpring MVCは、同等または相互排他的ではありません。Springを使用してWebアプリケーション開発を行う場合は、とにかくSpring MVCを使用します。次に、Spring Bootを使用するかどうかが問題になります。
一般的なSpringアプリケーションの開発やSpringの学習を始めるには、Spring Bootを使用することをお勧めします。それは仕事をかなり楽にして、生産準備ができて、急速に広く採用されています。
STS(Spring Tool Suite)には、Spring Bootプロジェクトの作成用とSpring MVCプロジェクトの作成用の2つのウィザードがあるため、初心者がこの質問をするのを見かけることがあります。したがって、私の推奨は、Spring Bootプロジェクトを作成し、その中のモジュールとしてWebを選択することです。
簡単に言えば、次のように表現できます。
Spring boot = Spring MVC + Auto Configuration(Don't need to write spring.xml file for configurations) + Server(You can have embedded Tomcat, Netty, Jetty server).
また、Spring BootはOpinionatedフレームワークであるため、迅速な開発、構成に必要な時間の短縮を考慮したビルド、および非常に優れたコミュニティサポートがあります。
Spring MVC
Spring Frameworkのサブプロジェクトであり、MVC(Model-View-Controller)パターンを使用するアプリケーションの設計と開発を対象としています。Spring MVCは、Spring Frameworkと完全に完全に統合し、他のほとんどのサブプロジェクトと推移的に統合するように設計されています。
Spring Boot
この記事から、Spring Engineeringチームは非常によく理解できます。それはおそらく意見が分かれている、つまり特定のスタイルの迅速な開発を強く支持しているが、ルールの例外に対応できるように十分に設計されている。要するに、必要に応じて規則を破る必要性を理解してくれるのは、構成方法論に対する規則です。
Spring、Spring MVC、Spring Bootを区別するいくつかの主要なポイントは次のとおりです。
春 :
春MVC
春ブーツ:
(進化:Spring-> Spring MVC-> Spring Bootなので、新しいバージョンは古いバージョンの機能と互換性があります。)注:すべてのポイントが含まれているわけではありません。
SpringBootは実際には事前構成されており、ボイラー構成を減らし、アプリケーションを開始する最も簡単または迅速な方法を提供します。
SpringBootは、設定の頭痛の種を開発者からSpringではなく自分自身に任せます。
暗黙的に、SpringBootは、Bean、コントローラー、サービス、jpaなどのSpringフレームワークの概念に基づいています。
SpringBootはSpringのラッパーであると言えます。
SpringBootでは、サーバーのデフォルトポートは8080ですが、変更したい場合は、application.propertiesに移動して次のように記述してください
server.port = 8084
スプリングブートを使用すると、構成を構築する必要はありません。これは、プロジェクトの作成時に自動的に行われます。
Spring MVCを使用する場合は、自分で構成を作成する必要があります。より複雑ですが、非常に重要です。
以前の回答で同じことを繰り返さずに、
私は新しいプロジェクトを開始することを考えていて、プロジェクトを開始するのに最適なフレームワークがどれかわからない人々のためにこの回答を書いています。あなたがこのフレームワークの初心者である場合、私が好む最良のことはスプリングブートを使用することです(STS / Spring Tool Suiteを使用)。それは非常に役立ちますので。すべての構成を独自に行います。さらに、データベースフレームワークとしてHibernateとSpring-Bootを使用します。この組み合わせで、あなたのアプリケーションは最高になります。私の経験でそれを保証できます。
これもJEEの最良のフレームワークの1つです(現在)。これは近い将来になくなる予定です。今後登場する軽量の代替品があります。だからあなたの経験で更新してください特定のフレームワークに固執しないでください。最良のことは、フレームワークではなく、概念に精通していることです。
このように考えてください:
Spring MVCは、MVCアーキテクチャーを実装するためのWebベースのフレームワークです。
Spring Bootはプログラマ向けのツールです。プログラマーはプログラミングに集中し、ツールは構成に集中する必要があります。したがって、単純な「Hello world」を作成するために一連のxmlを構成する時間を無駄にする必要はありません。
Spring MVCとSpring Bootは、異なる目的で存在します。したがって、候補として互いに比較することは賢明ではありません。
Spring Bootとは何ですか?
Spring Bootは、適切なデフォルトでSpringアプリケーションをパッケージ化するためのフレームワークです。これは何を意味するのでしょうか?。Spring MVC、Spring Data、Hibernate、Tomcatを使用してWebアプリケーションを開発しています。このアプリケーションをどのようにパッケージ化してWebサーバーにデプロイしますか?現在のところ、Webサーバーにデプロイするには、構成、XMLファイルなどを手動で作成する必要があります。
Spring Bootは、プロジェクトのゼロXML構成でそれを行います。信じてください。デプロイメント記述子やWebサーバーなどは必要ありません。SpringBootは、すべての依存関係をバンドルする魔法のフレームワークです。最後に、Webアプリケーションはサーバーが埋め込まれたスタンドアロンのJARファイルになります。
これがどのように機能するかまだ混乱している場合は、Spring Bootを使用したマイクロサービスフレームワークの開発についてお読みください。
Spring MVCとは何ですか?
これは、Webアプリケーションの構築に役立つ従来のWebアプリケーションフレームワークです。Strutsフレームワークに似ています。
Spring MVCは、Webアプリケーションの構築に使用されるJavaフレームワークです。これは、Model-View-Controller設計パターンに従います。制御の反転、依存性注入などのコアSpringフレームワークのすべての基本機能を実装します。
Spring MVCは、DispatcherServletの助けを借りて、SpringフレームワークでMVCを使用するためのエレガントなソリューションを提供します。ここで、DispatcherServletは、着信要求を受け取り、それをコントローラー、モデル、ビューなどの適切なリソースにマップするクラスです。
これが違いを理解するのに役立つことを願っています。