ベストアンサー
インターネット上の回答のほとんどは非常にあいまいであるため、初心者には困惑する可能性があります。
業界全体のSpringバージョンはSpring3.0であり、以前のバージョンからの変更点、つまり2.5は(サポートされているJDK 5)で構成されています:-
SpringMVCテストフレームワーク-Servlet3.0での非同期MVC処理-@のカスタム@Bean定義アノテーション構成クラス-メタアノテーションとして使用される@Autowiredと@ Value-フレームワーク全体での同時実行の改良-TestContextフレームワークでのWebApplicationContextのロード-JCache0.5(JSR-107)
Spring2.Xは主に6つのモジュール、サポートされているJDK 4:-
- Springコアモジュール
- Springコンテキスト[J2EE]
- SpringDAOモジュール[SpringJDBC]
- SpringORMモジュール
- Spring AOP [アスペクト指向プログラミング]
- SpringWEB-MVCモジュール
上記は以前のバージョンのSpringとは異なります1.x、7つのモジュール。
回答
最初に確認するいくつかの事実:
- SpringFrameworkとSpringBootの両方を使用してJavaEnterpriseアプリケーションを作成します。
- SpringBootで実現できるSpringFrameworkを使用するすべてのもの。
では、なぜ Spring Boot なのか?
これを理解するには、SpringBootの作成の背後にある設計哲学を理解する必要があります。設計哲学/目的を理解していれば、それらの違いが自動的にわかります。
これらの設計目的のハイライトをいくつか示します。
- 設定より規約 これは、多くのソフトウェアフレームワーク/システムで使用されているソフトウェア設計パラダイムであり、ユーザーに適切なデフォルトを提供します。ベストプラクティスと柔軟性を失うことなく。 この設計原則の影響は甚大であり、これらには以下が含まれます。優れたアーキテクチャ、保守性、統一された標準的な製品の作成、ユーザーの意思決定の数の減少、全体的な生産性の向上、開発の迅速化など。システム/フレームワークは[慣例により]ユーザーに適切なデフォルトを提供し、これらのデフォルトから逸脱/逸脱した場合、構成を変更する必要があるのは1人だけであるという考え方です。 例をいくつか見てみましょう: 例1 :(導入簡略化) ユーザーがSpringMVCに続いてWebアプリケーションを作成しているとすると、このアプリケーションをデプロイするためにユーザーがTomcatのようなコンテナーを必要とすることは明らかです。フレームワークが組み込みTomcatを提供できる場合、ユーザーはTomcatインスタンスのインストールと構成に時間と労力を費やす必要はありません。このデフォルトの動作を望まない場合は、フレームワークにもそのための柔軟性が必要です。 作業方法: spring-boot-starter-web の依存するjarファイルを探してくださいArtifactId
org.springframework.boot - 迅速なアプリケーション開発 1つの文で、実際に付加価値を与える、またはドメインに関連するコードを最大化し、定型コードを削減します。例を見てみましょう。XMLまたはJSONをマーシャリングするアプリケーションのコードには、顧客価値も開発者のメリットもありません。
ここで、SpringBootの作成の背後にある設計哲学について説明しました。それは実際に何をしますか?
- 開発を加速する
- 開発者は、設定に[労力と時間の両方]時間を浪費するのではなく、実際に重要で価値を付加するソリューションの作成に時間を費やします。開発環境、プロジェクト、構成の変更、定型コードの作成
それを望んで、SpringフレームワークとSpringBootの違いを設計の観点から説明できます。