SpringBoot

Springのテストで使用するアノテーション

Springのテストで使用するアノテーションを整理する。 @ContextConfiguration (org.springframework.test.context.ContextConfiguration) Spring Frameworkのテストで使用するアノテーション。 テストクラスと同じパッケージ上に存在する「テストクラス名-co…

Relaxed Bindingについて

Circuit Breakerについて調べていた時、サイトによって設定ファイル(application.yml)に定義するプロパティがキャメルケースだったり、ケバブケースだったりどちらが正しいんだろって疑問を持ってたんだけど、どっちも正しかった。 Relaxed Binding docs.s…

SpringBootでホットデプロイ

SpringBootの開発用のdevtoolsモジュールを導入するとホットデプロイができるらしい。 build.gradle ~省略~ dependencies { developmentOnly 'org.springframework.boot:spring-boot-devtools' // hot deploy ~省略~ application.yml ~省略~ spring: d…

@ConditionalOnExpressionを使う

@Scheduledでタスクを作成したけど、設定ファイルで起動する/しないを切り替えたい。 @ConditionalOnExpressionを利用すればできるらしい。 SleepTasks.java ~省略~ @Component @RequiredArgsConstructor @ConditionalOnExpression("${tasks.sleep-tasks.…

@PostConstructと@PreDestroyを使う

アプリ起動時と停止時に何かしらの処理を行いたい。 コンポーネントを用意して、メソッドに@PostConstructと@PreDestroyを付与すれば簡単にできるらしい。 ApplicationListner.java package com.example.demo; import javax.annotation.PostConstruct; impor…

SpringBootのキャッシングをRedisで使ってみる

例えば、DBから取得した結果を返却するというメソッドがあるとする。 このメソッドに@Cacheableを付与すると、検索結果をキャッシュに格納してくれて次回呼び出し時はキャッシュで保持しているデータを返却してくれる。 基本的にキャッシュにデータがある限…