kagamihogeの日記

kagamihogeの日記です。

2023-01-01から1年間の記事一覧

Testcontainers + Spring Boot 3.1 + Oracle XE

従来 Testcontainers とspring-bootを組み合わせる場合は @DynamicPropertySource で接続URLプロパティなどを置き換える処理がやや煩雑だった。しかし https://spring.io/blog/2023/06/23/improved-testcontainers-support-in-spring-boot-3-1 によると有名…

Spring Cloud Stream(RabbitMQ)でhello-worldレベルのconsumer

Spring Cloud StreamをRabbitMQと組み合わせて、RabbitMQ管理画面から文字列をpublishしてspringアプリケーションでconsumeするだけのサンプルを作成する。 ソースコード・手順 build.gradle https://start.spring.io/ でCloud Stream, Spring for RabbitMQ…

spring-integrationでcommons-ioを使用したファイルのtail

Spring Integrationでファイルのtailを実現する。デフォルトではOSのtailコマンドを実行するが、設定によりOS非依存のApache Commons IOに切り替えられる。今回はそのサンプルコードについて。 ソースコードなど build.gradle https://start.spring.io/ を使…

gradleのversion catalogでsubprojectで共通のバージョンを定義

JJUG CCC 2023 Spring で最近のGradleにはversion catalogというmultiple projectでバージョン定義を共有する仕組みがあるのを知った。その時に講演していた方のプレゼン資料は Gradleと仲良くなる第一歩 ~小規模PJから大規模PJへ~ にある。 https://docs.…

HTTP Interface(WebClient)のリトライ

build.gradle plugins { id 'java' id 'org.springframework.boot' version '3.0.6' id 'io.spring.dependency-management' version '1.1.0' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' configurations { compileOnly …

MyBatis ThymeleafのSQL Generator

MyBatis ThymeleafのSQL生成機能であるSQL GeneratorはMyBatisとは独立して使用できる。基本的には他のO\Rマッパーと共に使用する。今回はmybatis-thymeleaf単体で使用可能な事を示すためにあえて他の依存性は何も追加せずにSQL生成のみ試す。 ソースコード…

Spring Batch 5さわる

Spring Batchは5.0から色々な変更が入った事を最近知った。 docs.spring.io What's new in Spring Batch 5 from ikeyat www.slideshare.net なので、良くやる設定などでとりあえず触ってみる。何分初めてさわるバージョンなので間違ってる事書いていたら申し…

Spring SecurityのForm認証

Spring BootでSpring Securityを使う場合はauto-configurationで様々な設定が自動で行われ、そのサマリは 公式ドキュメントにある。よくあるForm認証はそこに設定を追加・修正で行う。また、デモ・開発用の設定が最初から有効なので何も設定無しでも一応の動…