しおしお

IntelliJ IDEAのことなんかを書いてます

spring boot

KotestのSpring拡張を試してみる

KotestのSpring拡張を使う方法になります。 KotestのSpring拡張をdependenciesに追加 io.kotest:kotest-runner-junit5-jvmだけではなく、Spring拡張のio.kotest.extensions:kotest-extensions-springを追加します。 Mockkを使うのに便利なcom.ninja-squad:sp…

Spring Data R2DBCで複数のデータベースに接続してみる

やりたいこと 単一のWebFluxのアプリケーションで、Spring Data R2DBCを使って複数のデータベースに接続してSQLを実行したい。 環境準備 データベース 準備が簡単なので、Docker Composeを使ってデータベースを2つ起動しています。 version: '3.7' services:…

Spring Boot + MVCでkotlinx.serializationを使ってリクエスト・レスポンスのシリアライズとデシリアライズをしてみる

Spring Boot + MVCでkotlinx.serializationを使ってリクエスト・レスポンスのシリアライズとデシリアライズを試してみました。 使用バージョンなど ↓のバージョンを使って試してみました。 Spring Bootは、2.5.4 kotlinx.serialization build.gradle.ktsはこ…

Spring Boot 2.3からのCloud Native Buildpacksを試してみる

Spring Boot 2.3からのCloud Native Buildpacksを試してみました。 プロジェクトの作成 Spring Initializrを使って、Spring Bootのバージョンを2.3以降にしてプロジェクトを生成します。 ※お試しプロジェクトでは、Dependenciesに Spring Web と Spring Boot…

Spring BootのテストでTestcontainersを使ってみる

Spring BootのテストでTestcontainersを使って、データベースをコンテナとして起動してテストを実行してみる感じです。 これを使うことで、開発で使っているデータベースを汚染せずに簡単にデータベースまで通しのテストができそうな気がしています。 Testco…

Spring BootでScalikeJDBCを使ってみた

Spring BootでScalikeJDBCを使ってデータベースにアクセスしてみたお話です。 build.gradle データベース関連のライブラリとScalikeJDBCを足してあげます。 implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframe…

Spring Boot(MVC)でCORSを色々試してみた

雰囲気でCORSの設定してたので設定によってどんな結果になるか調べてみたよ。 クライアントとサーバのコード クライアント getとpostを行うだけの簡単なhtmlを使って試してみます IntelliJさんについている簡易サーバからSpring Bootなアプリケーションにリ…

Spring Bootなアプリケーションのキャッシュの内容を定期的にクリアしてみる

@Scheduled アノテーションを使ってタスクを定期実行し、キャッシュの値を定期的にクリアしています。 設定値(application.properties) 簡単に確認出来るインメモリキャッシュを設定しています spring.cache.type=simple サンプルコード @Scheduled で10秒毎…

Spring Cloud AWSで異なるリージョンにあるSESを使ってみる

Spring Cloud AWSのSESでアプリケーションとは異なるリージョンにあるSESを使う方法 *1 アプリケーションのリージョンの指定 リージョンの指定は、application.propertiesにこんな感じに設定します。 cloud.aws.region.auto=false cloud.aws.region.static=a…

Spring Bootの@Valueに指定するプレースホルダのプレフィックスを変更する方法

@Valueアノテーションを使ってプロパティの値をインジェクションする場合、デフォルトではプレフィックスに${を指定する必要がある。 Javaで書いてる場合は問題ないけど、Kotlinを使うと文字列内の$は変数を展開するために使うので下のコードのようにエスケ…