CLOVER🍀

That was when it all began.

Spring

Jacksonで、オブジェクトをシリアライズする際にnullのプロパティを出力しないようにする

これは、なにをしたくて書いたもの? Jacksonを使ってオブジェクトをJSONにシリアライズする際に、nullのプロパティの出力は抑制したくなることがあります。 JSONにした時に、以下のような状態を { "property1": "value1", "property2": null } こうする、と…

REST AssuredをSpring Boot 3.0で使う

これは、なにをしたくて書いたもの? REST Assuredが5.1.0でSpring Boot 3.0に対応したようなので、REST AssuredとSpring Frameworkの組み合わせの確認を含めて 試してみることにしました。 https://github.com/rest-assured/rest-assured/blob/rest-assured…

Database RiderをSpring Framework(Spring Boot)と合わせて使う

これは、なにをしたくて書いたもの? 前に、Database Riderに関するエントリーを書いたことがあります。 Database Riderを試してみる - CLOVER Database RiderにはSpring Framework(Spring Boot)と組み合わせて使う機能があるようなので、試してみました。…

OpenAPI Generatorを使って、Spring Web MVCのエンドポイントを生成する

これは、なにをしたくて書いたもの? OpenAPI Generatorを使って、OpenAPIの定義ファイルからSpring Web MVCのエンドポイントを生成してみようかな、ということで。 OpenAPI Generator OpenAPI Generatorは、OpenAPIの定義ファイルからクライアントやサーバ…

Spring BootでQuartzを使ってみる

これは、なにをしたくて書いたもの? Spring Boot(とSpring Framework)に、Quartzとの連携機能があるので、試してみようということで。 Spring Boot、Spring FrameworkとQuartz Spring BootおよびSpring Frameworkの、Quartzとの連携については以下に記載…

Amazon SQSにメッセージを送受信するアプリケーションをSpring Bootで書いてみる(AWS SDK for Java v2、LocalStack利用)

これは、なにをしたくて書いたもの? 前に、Amazon SQS(といってもLocalStack上のものですが)を使ってFIFOキューを試してみました。 LocalStackでAmazon SQSのFIFOキューを試してみる(AWS SDK for Javaを使用) - CLOVER 今回は、常駐アプリケーションと…

Spring Statemachineのチョイス/ジャンクションを試してみる

これは、なにをしたくて書いたもの? 最近Spring Statemachineに関する勉強をちょっとずつしていましたが、そろそろこれでひと区切りにしようかなと思います。 今回は、チョイスとジャンクションを扱ってみます。 チョイス/ジャンクション チョイスとジャン…

Spring Statemachineのガードを試してみる

これは、なにをしたくて書いたもの? Spring Statemachineの、ガードというものを試してみたいなということで。 ガード ガードについては、用語集に以下のように記載されています。 A boolean expression evaluated dynamically based on the value of exten…

Spring SecurityのOAuth 2.0サポートで、Keycloak 19.0からログアウトする

これは、なにをしたくて書いたもの? ここまでSpring SecurityのOAuth 2.0サポートとKeycloak 19.0を使っていて、ログアウトをかなり適当にしていました。 こんな感じに、ログアウト用のURLとログアウト後に表示するURLを設定していただけですね。 @EnableWe…

Spring Statemachineのタイマートリガーを使ってみる

これは、なにをしたくて書いたもの? Spring Statemachineのトリガーには、イベントとタイマーの2種類があります。 これまでSpring Statemachineを使ってきた時にはイベントトリガーしか扱ってこなかったので、タイマートリガーを試してみたいなと思います。…

Spring SecurityのOAuth 2.0サポートで、Keycloak 19.0のRealmロールを使った認可を試す

これは、なにをしたくて書いたもの? 前に、Spring SecurityでKeycloakのクライアントスコープを使った認可を試してみました。 Spring SecurityのOAuth 2.0サポートで、Keycloak 19.0のクライアントスコープを使った認可を試す - CLOVER 今度は、Realmロール…

Spring Statemachineのアクションを試す

これは、なにをしたくて書いたもの? 以前に、Spring Statemachineをとりあえず動かしてみました。 Spring Statemachineを試してみる - CLOVER 今回は、「アクション」というものを扱ってみたいと思います。 Spring Statemachineにおけるアクション アクショ…

Spring SecurityのOAuth 2.0サポートで、Keycloak 19.0のクライアントスコープを使った認可を試す

これは、なにをしたくて書いたもの? 前に、Spring SecurityのOAuth 2.0サポートを使って認証を試してみました。 Spring SecurityのOAuth 2.0サポートでKeycloak 19.0を使った認証を試す - CLOVER 今度は、クライアントスコープを使った認可を簡単に試してみ…

Spring SecurityのOAuth 2.0サポートでKeycloak 19.0を使った認証を試す

これは、なにをしたくて書いたもの? 先日、WildFlyベースからQuarkusベースになったKeycloakをインストールしてKeycloak自体にログインするところまでやってみました。 Ubuntu Linux 20.04 LTSにKeycloak 19.0をインストールする - CLOVER 今回は、Spring S…

Spring Statemachineを試してみる

これは、なにをしたくて書いたもの? 少し、ステートマシンについて調べる機会がありまして。 Spring Statemachine Spring Statemachineのプロジェクトページは、こちら。 Spring Statemachine Spring Statemachineの現在のバージョンは3.2.0で、ドキュメン…

Spring BatchでItemProcessorを複数適用してみる

これは、なにをしたくて書いたもの? Spring Batchで、複数のItemProcessorを使うパターンをちょっと試しておこうかなと。 CompositeItemProcessor 結論を言うと、CompositeItemProcessorを使うことになります。 ドキュメントとしてはこちらに載っています。…

Spring BatchのトランザクションがRuntimeExceptionでもException(検査例外)でもロールバックすることを確認する

これは、なにをしたくて書いたもの? Spring Frameworkでのトランザクション管理といえば、宣言的トランザクションを使うことが多いでしょう。 Data Access / Transaction Management / Declarative Transaction Management 一方で、宣言的トランザクション…

Spring Batch × Spring Integration(Spring Batch Integration)を試す

これは、なにをしたくて書いたもの? Spring Batchのドキュメントを見ていて、Spring Integrationと組み合わせられそうだったので、ちょっと試してみようかなと。 Spring Batch Integration Spring Batchと、Spring Integrationの組み合わせについては、こち…

Spring Boot Actuatorでデータストア(JDBC、Redis)を含んだヘルスチェックを行う

これは、なにをしたくて書いたもの? Spring Boot Actuatorのヘルスチェックを行う時に、一緒にデータストアなどのヘルスチェックも行ってくれるようなので、 ちょっと見てみました。 Spring Boot Actuator/Health Information そもそも、Spring Boot Actua…

Spring Boot(JobLauncherApplicationRunner) × Spring BatchとJobParametersIncrementerの動作を確認してみる(+JsrJobParametersConverter)

これは、なにをしたくて書いたもの? Spring BootとSpring Batchを合わせて使っている時の、JobParametersIncrementerの立ち位置がちょっと気になりまして。 JobParametersIncrementer JobParametersIncrementerについては、こちらに書かれています。 Config…

Spring IntegrationのJDBCサポートを使って、データベースポーリングを試してみる

これは、なにをしたくて書いたもの? Spring Integrationで、JDBCを使ったデータベースポーリングをサポートしているというので、ちょっと試してみました。 Spring IntegrationのポーリングとJDBCサポート Spring Integrationでは、ポーリングの機能がありま…

Spring IntegrationのGatewayを試す

これは、なにをしたくて書いたもの? 少し前に、Spring Integrationを試してみました。 Spring Integrationを試してみる - CLOVER 他にドキュメントを読んでいて、Gatewayを使ってみないと全体のイメージが掴めない気がするので、1回試してみようかなと。 Ga…

Spring Batchで、Bean ValidationとItemのスキップの動作を確認する

これは、なにをしたくて書いたもの? Spring BatchとBean Validationを組み合わせて、Itemのバリデーションをしたり、NGになったItemをスキップできたりするというので ちょっと試してみようかなと。 Spring BatchとBean Validation Spring BatchでBean Vali…

はじめてのSpring Batch

これは、なにをしたくて書いたもの? Spring Batchについて、ちょっと見ておこうかな、ということで。 Spring Batch Spring Batchのページはこちら。 https://spring.io/projects/spring-batch ドキュメント。 Spring Batch - Reference Documentation まず…

Spring Web MVCアプリケーションのテスト方法を見ていきたい(+モックでBeanのテスト)

これは、なにをしたくて書いたもの? Spring Web MVCのテスト方法を、ドキュメントをしっかり眺めて見たことないなぁと。 時々扱っている時もかなり雰囲気で使っていたので、ちょっと見てみることにしました。 あと、オマケでモック(Mockito)でふつうにBea…

Spring Boot/Spring Frameworkのテストに関するドキュメントをざっくり眺めてみる

これは、なにをしたくて書いたもの? Springに関するテストの話について、あまり知らないのでちょっと見ておこうかな、と思いまして。 さらっと、Springのテストに関するドキュメントを眺めてみます。 Springのテストに関する話 今回扱うのは、Spring Bootの…

Spring Integrationを試してみる

これは、なにをしたくて書いたもの? Spring Integrationを少し試しておきたいな、と思いまして。 Spring Integration Spring Integrationは、EIP(Enterprise Integration Patterns)をSpringで実現するためのものです。 Extends the Spring programming mo…

Springの各プロジェクトに、サポート期間が掲載されるようになっていたという話

いつからかわかりませんが、Springの各プロジェクトのにサポート期間がわかりやすく掲載されるようになっていたという話です。 たとえば、Spring Frameworkを例にしてみます。プロジェクトのトップページにある、「SUPPORT」を選択してみます。 すると、「リ…

AWS Serverless Java Container × Spring Bootで、LocalStackのAmazon API Gateway+AWS Lambdaにデプロイする

これは、なにをしたくて書いたもの? AWSにServerless Java Containerというものがあるのに気づいたので。 GitHub - awslabs/aws-serverless-java-container: A Java wrapper to run Spring, Jersey, Spark, and other apps inside AWS Lambda. サーバレスで…

Spring Cloud Function AWS AdapterとLocalStackを使って、Amazon API Gateway+AWS Lambdaを構成してみる

これは、なにをしたくて書いたもの? 前にSpring Cloud Function AWS Adapterを使って、AWS Lambda関数をLocalStackにデプロイしてみました。 Spring Cloud Function AWS AdapterでAWS Lambda関数を作成して、LocalStackにデプロイしてみる - CLOVER Spring …