Springなんちゃらが多すぎてよく分からない
Javaの学習が終わり、Spring Bootでアプリ開発だ!と意気込んだものの、 SpringFrameWorkやらSpringやらSpringなんちゃら兄弟が多すぎて、何が何なのかよくわからないなという事態に陥ったので、自分なりにまとめてみました。
まずはSpringFrameWorkについて理解しよう。
Spring Frameworkは、Javaベースのアプリケーションを構築するためのフレームワークです。
このフレームワークは、開発者が頻繁に実装する共通の機能(データベース接続、トランザクション管理、セキュリティ、AOPなど)を提供し、開発を効率化します。
Spring Frameworkを使用することで、開発者はアプリケーション固有のビジネスロジックの実装に集中できます。
ふむふむ。ここまでは、ストンと理解。
Spring Bootとは?
Spring Bootは、前述したSpring Frameworkが提供するプロジェクトの一つで、アプリケーション開発をさらに簡単にするためのツールです。
そしてSpring Frameworkが提供するプロジェクト(ツール)には、その他
Spring Core
Spring AOP
Spring Data
Spring MVC
Spring Security
Spring Cloud
Spring Batch
Spring Integration
Spring WebFlux
と、これだけのプロジェクト兄弟が存在します。(兄弟多すぎ(-_-;))
Spring兄弟を組み合わせてアプリ開発を行う
前述したSpring兄弟の中から、これとあれとが必要だみたいな形で必要な子だけを集めて組み合わせてアプリ開発を行うと、とても高速に開発が進むという事ですが、どうやらこの『必要なプロジェクトを組み合わせる作業』はその都度、プロジェクト毎に設定が必要で、予想以上にとても大変な作業だったようです。
この大変だな問題を解決してくれる存在がSpring Bootで、都度の設定のような面倒な作業を必要とせず自動的に組み合わせたプロジェクトの設定を行ってくれるのです。
つまり、Spring兄弟の中でもこのSpring Bootは主役であるという理解で良さそうです。
Spring Bootなしでは生きていけないくらいの主役だと理解しておきましょう。
(なんとな、Spring FrameworkやSpring兄弟の関係性がボヤっとはわかったような気はします。)
Springの特徴の一つ、Convention Over Configuration原則を採用したデフォルト設定の提供。
Convention Over Configuration(コンベンションオーバーコンフィギュレーション)の原則とは、ソフトウェア開発における設計原則の一つです。この原則の基本的な考え方は、デフォルトの設定や挙動を用意することで、開発者が明示的に設定を行わなければならない部分を減らし、シンプルかつ迅速に開発を進められるようにすることです。
原則というから、ドキッとちょっと構えてしまったけど、整合性の良いデフォルト設定やるよーみたいな感じで理解しておきます。
まとめ
頭が固い私は、こういう所がストンと納得いかないと開発中も気になって仕方なくなってしまうので、Spring兄弟やSpring Frameworkの間柄を自分なりに嚙み砕いて理解できたかな?と思います。
また、サイトによってはSpring FrameworkをSpringと呼ぶも時あり、そんな小さなことでも結構、
混乱してしまいました。
さて、焦らず、Petit à petit(少しづつ、ゆっくり一歩ずつ)で行きましょう!


コメント