今さら聞けないMaven - JUnit5のテストクラスがなぜか実行されない
JUnit5のテストクラスをEclipseなどのIDEからは問題なく実行できるのにMavenコマンドから実行するとなぜかテストクラスが検出されず実行されなくなる。そんなお困りの事象と対処方法について今回は説明します。とりあえずどうすればいいかだけ教えて!という方は対処からどうぞ。 --> 今さら聞けないMavenMavenが誕生してから早20年ですが、開発で使っていると未だにハマってしまうことやコレってどうやるのだろう?と思うことがあったりします...
記事を読むDTOとエンティティの変換コードをfluentなワンライナーで書いてみる
昨今のJavaアプリケーションではレイヤーアーキテクチャにしろ、Clean Architectureにしろ、DTOとエンティティを変換するコードが多く登場します。今回は冗長となりがちなDTOとエンティティの変換コードをラムダとインタフェースを使ってfluent(流暢)なワンライナーで書けるようにする小ネタを紹介します。 変更前のちょっと残念な変換コード # 外部からの入力などをDTOで受け取り、それをエンティティに変換してサービスに渡す...
記事を読む第4回 ドメイン層の実装とサービスの完成
庄司です。 シリーズ4回目は Spring Integration を使うドメインイベントの発行 (publish) について説明します。 ドメイン駆動設計 (DDD - Domain-driven design) # 説明の前に「Spring Boot と Apache Camel の統合」の議論を受けて冬眠カプセルを冬眠ポッド (hibernation pod) へ、船員を旅行者 (passenger) へとユビキタス言語の変更等イベントストーミングの修正がありました...
記事を読むOpenID Connect でパスワードレス認証を使う
庄司です。 「WebAuthn でパスワードの無い世界へ」に続く「Envoy Proxy による HTTPS Proxy」の記事でプライベートネット内にパスワードレス認証ができる環境構築の方法を説明しました。この記事では、OpenID Connect の Code Flow を使ってパスワードレス認証を説明します。 サービスの概要 # 題材は宇宙船の冬眠ポッド (hibernation pod) です...
記事を読む第3回 OpenAPI Generator 利用時の Generation Gap パターンの適用
庄司です。 前回はドメイン駆動設計の話題を中心に説明しました。 今回は OpenAPI Generator の使い方について説明します。 説明する OpenAPI Generator のバージョンは 6.0.0 です。 OpenAPI Generator はさまざまな言語とフレームワークに対応したクライアントサイド、サーバーサイドのコードを生成します。OpenAPI Generator 自体の実行は Java を使います...
記事を読むJava17にBump upしてみた - 使った/使わなかった新機能(後編)
Java17にBump upしてみたの後編の今回は前編で紹介できなかった3つの機能を紹介していきます...
記事を読むSpring Boot と Apache Camel の統合
庄司です...
記事を読む第2回 イベントストーミングとドメイン駆動設計の戦略的設計
庄司です。 この記事は、「第1回 OpenAPI Generator を使ったコード生成」の続編です。 この記事のコードは、GitHub リポジトリに置いています。 前回の記事では、簡単に Spring Boot アプリが作成できるということを強調するためにシンプルな構成のコードにしていました。 ここで、少し現実感を持つために、このアプリケーションを利用するストーリーを描いてみます。 現在、ある宇宙船の設計を行なっています。人類が多惑星種となるために、この船には冬眠カプセルが装備されています...
記事を読むJava17にBump upしてみた - 使った/使わなかった新機能(前編)
LTSのJava17が2021年9月に正式リリースされ9ヶ月経ちました。新しもの好きだけどハマるのも嫌いな私は様子見をしていましたが、気がつけばパッチバージョンも3に上がっている[1]ことから、そろそろ使ってみるか!ということで別の記事でも紹介しているMicroProfileのリファレンスアプリをJava11からJava17にBump upしてみました...
記事を読む第1回 OpenAPI Generator を使ったコード生成
庄司です。 REST API の仕様を記述する OpenAPI Specification があります。この仕様では、JSON または YAML で API の仕様を記述します。 この業界標準の仕様で API を定義すると、開発に利用しやすいフォーマットされたドキュメントの提供やテスト用のモックを提供できます。 この定義を使うツールに OpenAPI Generator があります...
記事を読む