今日の学習時間。
- Day:88
- Today:11h
- Total:568h
学習内容について。
- Spring Bootの基礎学習
- 『はじめてのSpring Boot』
- アプリ開発
- カスタマイズ
- メンタリング13回目:30min.
Spring Bootの学習メモ。
https://github.com/kikikeiten/first_spring_boot/commit/43b371ae67ea43bf3f1d95aa5527d96e7d2bf771
- オートワイヤリング
- @Autowiredを付けたフィールドを持つクラスがDIコンテナで管理されるが、その時にDIコンテナは@Autowiredが付いたフィールドに対して合致するオブジェクトを探し出してインジェクションする
- セッターやコンストラクタにもインジェクションが可能
- エントリポイントがスッキリする
https://github.com/kikikeiten/first_spring_boot/commit/b0d94a3886f67fde0164a4919e0c7ad926c72986
- コンポーネントスキャンで自動Bean登録
- @CompornentScanをメインのクラスに付けることで、そのクラスのパッケージ以下を走査
- @Compornentが付いているJavaクラスを検出しDIコンテナに登録
- Bean定義ファイルが不要になる
https://github.com/kikikeiten/first_spring_boot/commits/master
- Frontend.javaの処理をメインクラスで出来るようにCommandLineRunnerというインターフェイスを呼び出す
- メインクラスからもDIコンテナがインジェクションできるようになる
- Frontend.javaが不要になる
ここまで確認したコードをGitHibにプッシュしてきましたが、プロジェクトが増えてきたことと時間が無駄に掛かることから止めました。実際のところ難しいなと思ったのがここまでで、以降の章はサーブレットで見慣れたアーキテクチャで割とすんなり理解できました。それにしても、Lombokで省略された部分は除いてサーブレットの半分ぐらいの記述量で書けるんじゃないか?覚えるアノテーションや依存関係は多いけど、マスターできればとても便利なフレームワークだと思いました。
本を買った後から気づいたけど、最新版はSpring Boot2だそうで同じ著者の本がnoteで販売されていました(未完成)。章ごとに購入もできるそうなので気になった章だけ購入しようかと思います。
日報管理システムのメモ。
他の従業員の日報にいいねしたときに表示されるフラッシュメッセージに日報を書いた従業員氏名と日報タイトルを追加。
一応コミットテンプレートもアップロードした。
メンタリングについて。
いつもの流れでまずはこの前実装したフォロー管理機能をシェアスクリーンで実演。そして、次の機能追加についてのお題が出ました。下記にメモしておきます。
- 「課長」や「部長」といった上長クラスの権限を追加し、上長が部下の日報を承認できるような機能
- 承認フローを意識した設計にする
- 一般→課長→部長みたいな
- 同等以下の権限に対して承認できる
- 例えば課長同士でも承認は可能で部長に日報を回せる
- 日報一覧ページにステータスを追加する
- 画面設計書、テーブル定義書、修正一覧、フローチャートを作成
今回は結構難しそうですね。要件定義は自由にしていいと言われたので悩みますが、実装のしやすさも考えたいと思います。
今日の反省と明日の目標。
なんとかSpring Bootの基礎をやり切れてよかったです。いかにフレームワークが便利でサーブレットが冗長かが分かりました。明日は日報管理システムとオリジナルアプリの両方の設計を考えたいと思います。