Spring MVCまたはSpring Boot [終了]


114

大企業(Web)プロジェクトの場合、Spring MVCまたはSpring-Bootの使用をお勧めしますか?

Spring-Bootは、設定の点で、Spring MVCに比べて非常に簡単です。

Spring-Bootを使用すると、Spring MVCと同じ利点があるのでしょうか?

何がお勧めですか?


29
Boot はMVCを使用できる(そしてそれを自動構成できる)ため MVCとBoot のどちらを選択するかは異なります。「Boot or Boot-less?」の場​​合 それは、企業がイノベーション(および関連するリスク)に対してどの程度オープンかによって異なります。いずれにせよ、ここで推薦を求めること話題外です。
クリガー2015

ご回答ありがとうございます。Spring MVCをSpringするようにSpring Bootを構成できることに気付きました。しかし、Spring-Bootを使用するかSpring MVCを使用するかはどちらも同じ特性です(Spring bootはセットアップが簡単です)。あなたの使用経験から?
ディエゴ

1
スプリングブートは、アプリケーションを構成する時間を節約します。デフォルトのBeanがあり、依存関係も管理します。ただし、spring-bootとspring-mvcの目的は異なります。Spring-MVCでSpring-Bootを使用する場合は、カスタム構成をオーバーライドする必要がない限り、何も設定する必要はありません。
–EddúMeléndez2015

ご回答ありがとうございます。私の将来のプロジェクトではSpring-Bootを使用します。Spring-Bootの方が設定が簡単で、時間を大幅に節約できると思います。
ディエゴ

2
また、スプリングブートはwarパッケージおよび外部サーブレットコンテナと互換性がありません
。58.2

回答:


106

私の個人的なアドバイスは、多くの理由で間違いなくSpring Bootを使用することです。

  1. 1つ目は、Bootが「春の未来」であるということです。つまり、Bootを使用すると、Springコミュニティの多くの取り組みから利益を得ることができます。今日のほとんどのSpringプロジェクトは、Bootに完全に統合されています。コミュニティでさえ、Bootに基づく多くのアプリケーションの開発を開始しています。たとえば、管理と監視のためです。私は見ることを提案できます Spring Boot Admin

  2. Spring Bootを使用すると、アクチュエーターやリモートシェルなどの管理および監視用の非常に優れた便利な機能を活用でき、非常に便利な本番環境対応機能でアプリケーションを改善できます。

  3. 非常に素晴らしく強力なプロパティと構成コントロール-アプリケーションを構成できます application.properties/yml 非常にシンプルで印象的な方法で、ブートを拡張。オーバーライドに関する管理でさえ、非常に強力です。

  4. これは最初のマイクロサービス対応プラットフォームの1つであり、私の意見では、今日では最高です!ブートでマイクロサービスプロジェクトを構築しない場合でも、上で説明したすべての機能からメリットを得られる自動整合性のあるjarを使用するか、必要に応じて古典的な戦争としてパッケージ化し、希望するコンテナのいずれかに戦争を展開します。

  5. プロジェクトの起動および構成フェーズを大幅に削減する構成アプローチよりもインテリジェントで慣例的な方法を使用します。実際、依存関係の管理を簡素化する一連のスターターMavenまたはGradle依存関係があります。次に、自動構成特性を使用して、Spring 4の条件付き構成フレームワークを通じて導入された多くの標準構成からメリットを得ることができます。特定の構成でオーバーライドすることができます。 Boot依存関係の自動構成JAR。Springはオープンソースであり、コードを確認できます。また、私の意見では、ドキュメントは良いです。

  6. Spring初期化子は、次のリンクで入手できるクールなツールです。https//start.spring.io/は、プロジェクトを非常に高速に作成するための非常にクールなツールです。


この考察が、最善の解決策を決定するのに役立つことを願っています。


1
答えてくれてありがとう。ここで少し混乱しています。persistence.xml構成ファイルや他の多くの機能を使用する必要がないので、プロジェクトでSpring 4を使用したいと思います。Spring 4の機能をSpring Bootで使用できますか?はいの場合、それを行う方法
viper

2
あなたがかなりバニラなことをするつもりなら、私は同意する傾向があります。起動しようとする回数は頭痛の原因になり、画面に向かって叫ぶと、起動が依存関係について賢くなりすぎて、電源をオンにするよりもオフにするためにより多くのことをしなければならなくなるからです。ブートレスプロジェクトを使用する。悪夢に終わるいくつかの事柄は、dbキャッシュが必要なLDAPで動作しようとしている、または複数のDataSourceを構成すると、知らないうちにJdbcTemplateおよびhibernateインスタンスを作成しようとして、h3データベース自体を起動することさえあります。
ブレットライアン

1
プロパティの設定も、私が制御する方法を考え出していないものです。ブートレスプロジェクトでは、JSPやSpELで使用できるアプリプロパティファイルのプロパティを読み取るためのオーバーロードサポートを持つAppConfigクラスを作成しますが、ブートで同じことを行う方法を理解できません。
ブレット・ライアン

1
この回答はまだ有効ですか(6か月後)私はこれを調べていますが、人々が素晴らしいSpring Bootを持っているのになぜなぜSpringを使用するのか理解できませんか?私はSpring Bootがとても好きだということです。それ自体を構成するインテリジェントなソフトウェアのアイデアは私にとって非常に素晴らしいですが、私は非常に混乱しています!ここでも、すばらしいSpring Bootがあるのに、なぜ人々はまだSpringを使用するのでしょうか。
Ahmad Hajjar

1
@AhmadHajjar、新しいプロジェクトの場合、間違いなくSpring Bootを使います。現在、それは完全に成熟したツールです。しかし、人々はまだプレーンなSpringプロジェクトを維持する必要があることを覚えておいてください。Bootに移行するのが簡単なプロジェクトもあれば、移行プロセスが面倒になるほど多すぎるプロジェクトもあるでしょう。
Xtreme Biker 2017年

39

Spring BootはSpring MVCを使用しています!これは自動構成されており、spring-boot-starter-web jarをインポートするとすぐに使用できます。したがって、基本的には、Spring Bootを使用するか、Springアプリケーションを手動でセットアップするかについて話します...


4
はい_ + 1、Springブートは自動構成ツール、Spring mvcはWebフレームワーク
Plain_Dude_Sleeping_Alone

@Plain_Dude_Sleeping_Alone Spring MVCがフレームワークであることを理解しています。Spring Bootは単なるautoconfigツールだとおっしゃっていますが、フレームワークと見なすこともできますか?
ジェシー

@Jesse、どちらもツールまたはフレームワークのどちらかと見なすことができます。しかし、ここで人々が強調するのは、スプリングブートはSpring mvc Webフレームワーク用のツールではないということです。Spring mvcに必要な準備が整った構成を提供しますが、戦利品自体はフレームワークの形式です。最後に、私の英語はとてもひどいので、すでにあなたの顔を焦がしているかもしれません。Hehe
Plain_Dude_Sleeping_Alone 2017

24

あなたは間違いなく春のブーツに行くことができます。エンタープライズアプリケーションの構築にSpring Bootを使用し始めました。これには多くの利点があり、以下にいくつかリストします:

  1. プロジェクトの構成はかなり単純になります。XMLファイルを保守する必要はありません。知っておく必要があるのは、application.propertiesファイルをどれだけ効率的に使用できるかだけです。

  2. 多くのデフォルト実装を提供します。たとえば、メールを送信する必要がある場合、それはのデフォルト実装を提供します JavaMailSender

  3. Spring HibernateとJPAの統合は非常に簡単です。

このようにたくさんあるので、あなたはあなたのニーズに基づいて探索することができます。


ご説明ありがとうございました
ディエゴ


10

@krygerが言ったように、Spring MVCをSpring Bootで使用できます。それらはそれらの間で排他的ではなく、設定はより簡単になります。また、テンプレートフレームワークであるhttp://www.thymeleaf.org/を使用することをお勧めします。これでの作業はJSPでの作業に似ていますが、thymeleafはHTMLとシームレスに統合されるため、コードは非常にきれいに見え、多くの便利な機能を追加できます。


8

Spring Bootは、MVCよりも信頼性を高める多くの利点と機能が組み込まれているため、MVCよりも便利だと思います。Spring Bootでは、ほとんどのものが自動構成され、MVCで行うようにそれらのxmlを記述する必要がないため、時間を節約できます。

Spring Bootは、Tomcatのようなサーバーランタイムにwarファイルをバンドルしています。これにより、Webアプリケーションの配布と展開が容易になります。業界はコンテナーベースのデプロイメントに移行しているため、Spring Bootはこのコンテキストでも役立ちます。

Spring MVCはWebアプリケーションフレームワークです。Spring Bootを使用しなくても、Springですべてを実行できますが、Spring Bootを使用すると、作業を高速化できます。

Springブートは、Springの依存関係を簡素化し、バージョンの衝突をなくし、アプリケーションコンテナーなしでコマンドラインから直接実行でき、少ないコードでより多くを構築できます-XMLは不要、web.xmlも不要、自動構成、実行に役立つツール本番環境では、データベースの初期化、環境固有の構成ファイル、メトリックの収集。

Spring Bootの基本はここにあります


答えてくれてありがとう。春のブーツを理解するのにとても役に立ちました。私が混乱していることの1つは、使用しているSpringバージョンを変更する必要がある場合、Spring Bootでそれをどのように行うのですか?春バージョンが定義されている場所がどこにもありません。
viper

プロジェクトでmavenを使用しませんでしたか?@viper
erginduran

はい、私はmavenを使用しました。しかし、春のブーツを使用して、私はそこに春の依存関係を見ることができません。
viper
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.