環境構築
まずは環境構築ですね。一番最初はEclipseでやってたのでEclipseの記事しかないですが、おすすめはIntelliJです。
IntelliJの無料版でも全然問題なく使えるのでおすすめです。
>>EclipseでSpring BootとKotlinの環境構築
環境別の設定
developとかproductionという値を渡すだけで読み込むファイルを切り替える方法についてです。
>>Spring Bootで環境毎にapplication.propertiesを読み込む方法
DBのマイグレーションについて
DBのマイグレーションは既存のDBにテーブルを追加したり、カラムを追加、削除したりする時にシステマチックに実行するのに必要な技術です。
>>Spring BootでFlywayを使用したMySQLのマイグレーション
Spring Data JPAの使い方
Spring Bootで手軽にDBにアクセスするならSpring Data JPAが楽でおすすめです。
>>Spring Data JPAでカスタムRepositoryインターフェースを実装する方法
>>Spring Data JPAのNativeQueryでIN句を使う方法
複数データベースを使うには少し設定が必要なのでもし使う場合は下記を参考にしてください。
>>Spring BootとJPAで複数データベースを扱う実装方法
Gradleを使ってRedshiftを使う方法も記載しておきます。
>>GradleでRedshift JDBC Driverの取得と設定方法
テストコードの書き方
今の時代、テストコードを書かない開発はほぼないのでテストコードもかけるようになっておきましょう。
Spring Bootではいろんなアノテーションがありテストコードでも多用するので解説を書きました。
>>Spring Bootのテストコードで使うアノテーション解説
複数データベースを使っている場合、それぞれに異なるデータを入れないといけないのでそういう時は下記を参照してください。
>>【Spring Boot】@DatabaseSetupで複数データベースにテストデータを入れる方法
Spring BootでのRest full APIの実装
基本的なCRUD操作のAPIについて紹介しています。
>>KotlinでSpring BootのRESTful APIを実装
APIにプリフィックスをつけたい場合参考にしてください。
>>【Spring Boot小ネタ】APIのprefixに/apiを付ける
APIを実装するときに使うModelAttributeとRequestBodyについてです。
>>Spring Boot ModelAttributeとRequestBodyの違い
リクエストデータのバリデーションはこちらを参照してください。
>>Spring Bootの@Validatedでリクエストパラメータのバリデーションを行う
リクエストパラメータを日付で受け取るときの設定にハマったので必要な人は読んでください。
>>Spring Boot | リクエストパラメータのyyyy-mm-dd形式の文字列をjava.util.Dateで受け取る方法
APIを実装したらアプリケーションのヘルスチェックも行ってください。
>>Spring Boot Actuatorを使ったヘルスチェック用APIの実装
APIを一通り実装したらログを取ることも忘れないようにしてください。Spring Bootでは簡単にログを設定できます。
>>Spring Bootでlogback-spring.xmlを使ったロガーの設定
ログイン処理を簡単に実装できるSpring Sessionについて
Spring Bootでのログイン処理といったらSpring Sessionの一択で問題ないです。
実装自体は簡単なのでハマりポイントを紹介しておきます。
>>Spring Sessionの使い方と有効期限を設定する1番簡単な方法
>>Spring SessionでElastiCache for Redisを使う場合はConfigコマンドを実行しないようにする
ログイン情報を取得する方法です。
>>Spring Securityで@AuthenticationPrincipalを使ってセッション情報を取得する方法
Spring Sessionで使われている暗号化の関数BCryptPasswordEncoderについてです。
Spring Securityで使われているBCryptPasswordEncoderの仕組み
エラーハンドリングについて
エラーハンドリングしっかり実装しないとかなり煩雑のものになってしまうので下の記事を参考にしてください。
AWS S3へのファイルアップロード/ダウンロード
Spring BootアプリケーションからS3に対してどうやってファイルを扱うかまとめました。写真アップロードするサービスを作る人はマストの機能です。
>Spring BootからS3にファイルをアップロードする方法
CSVの扱いもまとめたので是非!
>>Spring BootでJava ObjectをCSVにしてダウンロードする方法
AWS Code Buildを使ったビルドからデプロイまで
Spring Bootでの成果物はビルド後のjarファイルとなります。
今時の開発ではビルドもデプロイもCI(継続的インテグレーション)/ CD(継続的デリバリー)といって自動化させるのが当たり前となっています。
AWSではCode Pipelineというサービスでビルドからデプロイまで一貫して対応できるので使いましょう。
まずはビルドです。Code Buildを使って行います。
>>AWS CodeBuildを使ってソースコードをビルドする
Code Buildが理解できたら次はCode PipelineとCode Buildの組み合わせ方法です。
>>AWS CodePipelineからCodeBuildを使ってソースコードをビルドする
最後にCode DeployとCode Pipelineを組み合わせてデプロイまで行います。
>>AWS CodeDeployのappspec.ymlの超基本的な書き方
この3つの記事を実際に試すことでCI/CDのシステムをAWSで構築することができます。
Spring Bootでのセキュリティ設定
CORS(Cross-Origin Resource Sharing)、CSRF(Cross-Site Request Forgeries)はWEBアプリケーションを作る上で必須のセキュリティ対策になります。
下の記事で設定するようにしておいてください。
まとめ
一番上から順番に取り組めばSpring BootとSpring Data JPAでの開発が理解できるかと思います。
サンプルコードもできる限り載せているので初心者の方でも十分学べると思います。
間違い等ありましたらコメントかメッセージでいただければすぐに対応します。
おすすめ書籍
JPAに関して体系的に学べる良い書籍だと思います。良くあるSpring系書籍ですとJPAは少ししか紹介がありませんが丸々一冊JPAに関してなので詳細な解説がされています。内容はJPAと他のORMとの比較から始まりセットアップ、実装の仕方まで幅広く網羅されています。これからJPAで開発を初めてみようかなと考えている方は一読することをオススメします!
Springの概要からインストール方法、各コア機能(Security, Sessionなど)の解説が体系的にまとめられています。2018年に出版されたばかりなので情報も新しいです。これからSpring Bootでアプリケーション開発をしたい方の最初に読む一冊としておすすめします。対象は初心者だけでなく上級者まで幅広く学べるので是非読んでみてください!
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す