こんにちは。beaglesoftの真鍋です。
一昨年の暮れからSpringBootを始めたわけですが、とても気に入っています。もちろん、Railsのアプリケーションに手を染めたりすることもあるわけですが、弊社ではSpringBootでの開発を今後もメインに使用と考えています。
さて、そんなSpringBootですが、悩みの種はこれまでSpringFrameworkでの開発をしたことがないばかりにはまってしまうことが多々あるということでしょうか。
SpringBootは基本的にSpringFrameworkの設定をアノテーションを中心としたコードベースで行っているので、SpringFrameworkの設定方法を確認してキーワードを見つけてSpringBootのドキュメントなどを読むことで問題は解決するのですが、もう少しお手軽に調べる方法もあります。
ということで、いつもどうやってSpringBootでわからないことを調べているかをまとめたいと思います。
書籍で調べる
書籍はいろいろありますが、そもそもFrameworkでわかっていないのか、Javaでわかっていないのかその辺で分かれるわけですが、いろいろとひっくるめてこの書籍は手元に置いています。
- 作者: 竹添直樹,高橋和也,織田翔,島本多可子
- 出版社/メーカー: 翔泳社
- 発売日: 2014/04/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
はじめてのSpring Boot―スプリング・フレームワークで簡単Javaアプリ開発 (I・O BOOKS)
- 作者: 槙俊明
- 出版社/メーカー: 工学社
- 発売日: 2016/09
- メディア: 単行本
- この商品を含むブログ (1件) を見る
とりあえず、この2冊は手元に置いておくべきと言うか、あった方が良いと思います。
次に、SpringFrameworkについてそもそも調べたいこともありますが、これは
Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ
に目を通すようにしています。基本的なログの設定とか、SpringFrameworkでの開発方法とかがまとまっているので便利です。ただ、SpringFrameworkのバージョンが3と少し古いのが残念なところですが、、、
Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ
- 作者: 長谷川裕一,大野渉,土岐孝平
- 出版社/メーカー: 技術評論社
- 発売日: 2012/11/02
- メディア: 大型本
- 購入: 8人 クリック: 115回
- この商品を含むブログ (14件) を見る
SpringFrameworkの内容になりますが、
Spring Recipes: A Problem-Solution Approach
は内容がレシピになっているので英語が苦手な方でも読みやすいと思います。
Spring Recipes: A Problem-Solution Approach
- 作者: Marten Deinum,Daniel Rubio,Josh Long,Gary Mak
- 出版社/メーカー: Apress
- 発売日: 2014/11/04
- メディア: Kindle版
- この商品を含むブログを見る
また、JPAについて、とくにJPQLとかその仕組みとか理解したいこともありますが、これは俗に言う金魚本を読むようにしていました。
Beginning Java EE 6~GlassFish 3で始めるエンタープライズJava (Programmer's SELECTION)
- 作者: Antonio Goncalves,日本オラクル株式会社,株式会社プロシステムエルオーシー
- 出版社/メーカー: 翔泳社
- 発売日: 2012/03/09
- メディア: 大型本
- 購入: 5人 クリック: 147回
- この商品を含むブログ (29件) を見る
最近は慣れてきたもので、Pro JPA2とかを読むようにしています。根本的な事柄が説明されているので良いと思います。
Pro JPA 2 (Expert's Voice in Java)
- 作者: Mike Keith,Merrick Schincariol
- 出版社/メーカー: Apress
- 発売日: 2013/09/26
- メディア: ペーパーバック
- この商品を含むブログを見る
ウェブサイトで調べる
ウェブサイトでもいろいろな情報が得られます。主に2つのケースでウェブサイトで調べることが多いです。
- 対象となる技術について調べる。レイヤー構成やログの設定などの設定が主な内容。
- はまったときにどうすればいいか調べる。
対象となる技術について調べる。
対象となる技術というと大げさですが、トラブルシュートではないけれども書籍などで得られた情報を深掘りするときなどでしょうか。このようなときに最初に参考にするのは Spring Boot Reference Guide ですね。公式ドキュメントは何よりも最初に目を通します。
ただ、公式サイトではSpringBootの利用方法はわかりますがベストプラクティスはわからないです。そこで、 TERASOLUNA Global Framework Development Guideline — TERASOLUNA Global Framework Development Guideline 1.0.0.publicreview documentation からどのようなルールで開発しているかを読み取ります。やっつけで作るときには必要ないかもしれませんが、それなりの開発をするときにはどのように開発するかルールを設ける方がよいでしょう。さすがに、きちっとしたルールが明示されているので、必要な物を適宜チョイスするようにしています。
SpringBootで何か作っているコードを探しているとSpring Boot でログイン画面 + 一覧画面 + 登録画面の Webアプリケーションを作る ( 目次 ) - かんがるーさんの日記が参考になります。連載形式になっていて、ほしいと思う実装がGitHubで確認できてありがたいです。
その他、以下のウェブサイトも参考にします。
SpringFrameworkのことがまとまっています。
Spring MVC 4.0の変更点一覧 - タツノオトシゴの日記
SpringBootの技術内容についてレシピ風にまとまっています。
spring-boot - SpringBoot(with Thymeleaf)チートシート[随時更新] - Qiita
SpringやSpringBootの内容について新しいことや詳細な内容がまとまっています。
はまったときにどうすればいいか調べる。
こっちはキーワードをGoogleで検索するにつきるのですが、大抵行き着くところはGoogleで検索したサイトと自分のコードを比較して単純な間違いをしているか、StackOverflowで解決策がある/回答が全くないかのどちらかです。とくにStackOverflowに解答があるかどうかでリカバリ度合いがかなり異なるように思います。
さいごに
こうしてみると、いろいろな情報をかき集めて自分の中で取捨選択しながら開発しているのだと改めて感じます。参考にさせていただいている情報をご提供いただいているみなさまに感謝いたします。ありがとうございます。私も情報をアウトプットできるように精進したいと思います。