Spring Bootを使ってみた
概要
Seasarプロジェクトのサポートが来年(2016年)に終了することになったため、次期JavaベースFrameworkについて調査しています。
@ITの記事によると、以下の3つが候補のようです。このうちの、Springフレームワークについて、調べてみました。
以前、少しだけSpringをかじった時に、その複雑さのため挫折してしまいましたが、今は、Spring Bootという軽量なフレームワークがあります。今回は、このSpring Bootを使ってみました。
アノテーション黒魔術が多いのはあまり好きにはなれませんが、実装量が少なくて済むのは良いかもしれません。Entityクラスの自動生成とRequestMappingの一括管理ができれば、Seasarと同程度の生産性?が得られるような気がします。
「はじめてのSpring Boot」を参考書として使いましたが、「はじめてのSpring Boot」のサポートの良さに驚きました。GitHub上にソースコードとサポートページがあり、バージョンの更新にも対応しています。開発のテンポが早いモジュールにもかかわらずアンプルコードがちゃんと動くのはたいしたものだと思います。作者の尽力に頭が下がります。
Springフレームワークについて
コンポーネントベースのフルスタックフレームワーク。
機能(コンポーネント)が増えるにしたがって使いにくくなってきた。
- DI(Dependency Injection)
- AOP(Aspect Oriented Programming)
- Spring MVC(Webアプリケーション向けMVCフレームワーク)
- Spring Batch(バッチ処理用フレームワーク)
- Spring Security(認証・許可フレームワーク)
- Spring Integration(システム連携フレームワーク)
- Spring Data8データアクセス抽象化フレームワーク)
Spring Bootとは
Springフレームワークのコンポーネント群を使いやすい形で提供するプロジェクト。
サンプル・コード
以下のサンプルコードに加えて、後半はHerokuへのデプロイの説明があります。
- 「Spring Framework」によるDI
- 「Spring JDBC」によるDBアクセス
- 「Spring JPA」によるDBアクセス
- 「REST Webサービス」
- 「Thymeleaf」を使った画面のあるWebアプリ
- 「Flyway」によるDBマイグレーション
- 「Spring Security」で認証・認可を追加
- テスト