Spring Boot
簡単にSpring Bootについて調べました。
Spring Bootとは
Spring Bootとは、JavaのWebフレームワークであるSpring FrmeworkをベースとしておりWebアプリケーションを効率よく開発するためのフレームワークです。
Spring Frameworkとは
Spring FrameworkとはJavaのWebアプリケーション開発用のオープンソースのフレームワークです。リリースされたのは2002年10月が最初で、この時から考えるとかなり長い歴史がありますがその分実績が積み上げられています。
最新のバージョンは5.2.4 です。
Spring FrameworkではEJB(Enterprise JavaBeans)モデルの代替として広く認知されており、Webベースのアプリケーションを構築するための拡張・改善が豊富に用意されていることからこの用途でSpring Frameworkが利用されることが多い。
特徴
Spring Bootの公式では以下の通りです。
Spring boot公式
- スタンドアロンのSpring アプリケーションを作成できる
- Tomact か Jetty か Undertowが直接埋め込まれ、warのデプロイが不要
従来の開発においては、Webサーバを設置してApache TomcatにWARファイルをデプロイして動かすという手順をとっていましたが、
このとおりJavaサーバとしての機能が内蔵されているため直接サーバを起動して実行されます。サーバー内で稼働するプログラムを実行できるので手間が今までと段違いで簡単です。
- ビルド設定が単純にするために、'starter'依存関係が提供されています
- 可能な場合は、いつでもSpringと3rd パーティのライブラリを自動的に構成してくれます。
- メトリクス、ヘルスチェック、外部化された構成などの本番対応機能を提供します。
- XML設定やコード生成を必要としません。
これは、Spring Frameworkが本来複雑な構成要素を必要としていたのに対してSpring Bootではとても簡単に対応できるといういみです。
Spring Bootでは本番に対応可能なスタンドアロンのwebアプリを簡単に作成してそのまま実行できるとのこと。必要な構成はアノテーションで行えるとのこと。
Spring Bootのメリット
Spring FrameworkではDI(Dependency Injection)という概念があります。
「依存性の注入」とも訳されますがこのDIがベースになることでクラスの仕様変更が発生しても既存のソースコードが影響を受けない。
単体テストでテスト用クラスが作成できる
などが実現できるそうです。これらDIを実現するためにDIコンテナというフレームワークを利用します。※これらの詳細は後日調べて記載します。
また、STS(Spring Tool Suite)という専用開発ツールもあります。
STSはEclipseをベースにSpring Frameworkの開発に特化した開発環境です。
Eclipse以外にも、VSCodeやTheiaなどの開発環境にも提供されています。
・各種プラグインが追加されている
・必要な処理の多くが自動化されている
など開発に役に立つ機能が盛りだくさんです。
参考
早く本格的に手を動かして勉強したいですね。。。