かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

Spring Boot でログイン画面 + 一覧画面 + 登録画面の Webアプリケーションを作る ( 感想 )

最後にここまで作ってみた感想です。

  • Spring Boot が最近の Java の Framework では面白いと聞いて試してみましたが、そもそも Spring Boot は複雑になった Spring Framework をより簡単に取り扱えるようにするためのものなので、Spring Framework 自体を知らない自分は結構苦労しました。Spring Framework を理解するために下記の「Spring3入門」と TERASOLUNA Server Framework for Java (5.x) Development Guideline にはお世話になりました。

    Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ

    Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ

  • Thymeleaf はいいですね。HTML をそのまま扱うことが出来るので、JSP より好みです。ドキュメントも英語ですが充実していて分かりやすいです。Tutorial なら日本語版もあります。

  • ORM は何を使えば良いのかで結構悩みそうです。簡単なものならば Spring Data JPA でよいと思うのですが、以前は S2JDBC を使っていたので正直外部 SQL ファイルを取り扱える機能がない点が今ひとつ自分の好みではありません。MyBatis は外部 SQL ファイルに出来るのですが、SQL ファイルに書いた SQL 文をそのまま実行できません。最近 Doma 2 という S2JDBC と同じ 2-way SQL が使用可能なライブラリがあることを知ったので、次はこれを試してみたいと思います。

  • 結構苦労したのが Spring Security です。Web で検索しても Spring Frameowrk と組み合わせるための XML ファイルベースの使用例を説明しているところが多くて、Spring Boot でどうやればよいのかを理解するのに時間がかかりました。

  • JUnit を今回初めて使ったのですが、

    • 最初はテストを書くのが非常に億劫でした。頻繁に後回しにしていましたしね。。。
    • テストは「書いておくと安心できる!」ということを実感できるか否かが書くようになる鍵だと思いました。Spring Boot のバージョンアップや全体に影響がありそうな変更をした時に、テストでこれまでと同じ動作をしているのかを確認できるのはすごい安心感がありました。この感覚が分かると、今回時間がかかるからテストは書くのを止めようとか絶対考えなくなりますね。
  • 最後に Spring Boot は慣れると非常に便利で面白いです。jar ファイル1つ作れば Tomcat 等を別途インストールすることなく Web アプリケーションを稼働させることが出来るという点が個人的には一番気に入りました。