SpringBoot 3系のAzureFunctions実装ーQueueStorageTrigger

Spring Boot3.X系 でAzure FunctionsのQueue Storage Triggerを実装する手順を示す。 プロジェクトの作成は以下の記事参照。 olafnosuke.hatenablog.com SpringBoot2.X系の実装方法は以下の記事参照。 olafnosuke.hatenablog.com Functionクラスの作成 Funct…

SpringBoot 3.X系での AzureFunctionsのEventGridTrigger実装方法

Spring Boot3.X系 でAzure FunctionsのEventGrid Triggerを実装する手順を示す。 プロジェクトの作成は以下の記事参照。 olafnosuke.hatenablog.com SpringBoot2.X系の実装方法は以下の記事参照。 olafnosuke.hatenablog.com EventGridTriggerのイベント情報…

SpringBoot 3.X系での AzureFunctionsのTimerTrigger実装方法

Spring Boot3.X系 でAzure FunctionsのTimer Triggerを実装する手順を示す。 プロジェクトの作成は以下の記事参照。 olafnosuke.hatenablog.com SpringBoot2.X系の実装方法は以下の記事参照。 olafnosuke.hatenablog.com TimerTriggerの起動時のパラメータを…

Spring Bootとテスト駆動開発

Spring Certified ProfessionalというSpringの認定資格がProが無償化されたことで受けるハードルが下がったので、ラーニングパスを勉強してみることにした。 のは良いけど、当たり前に全文英語なので復習としてあとで見返せるようにメモをまとめていく。 ラ…

SpringBoot 3.X系での AzureFunctionsのHttpTrigger実装方法

Spring Boot3.X系 でAzure FunctionsのHTTP Triggerを実装する手順を示す。 プロジェクトの作成は以下の記事参照。 olafnosuke.hatenablog.com SpringBoot2.X系の実装方法は以下の記事参照。 olafnosuke.hatenablog.com Functionクラスの作成 Functionクラス…

SpringBoot 3系のAzureFunctions実装方法ー共通設定編

以前以下の記事で、SpringBoot2.7系の場合の実装方法についてまとめた。 olafnosuke.hatenablog.com SpringBoot3.X系の場合、一部実装方法に違いがあるので、再度実装方法についてまとめる。 今回はTriggerによらない共通実装部分について記載する。 必要な…

バージョン管理システムとは

バージョン管理システム(VCS:Version Control System) → あるファイルやファイル群に対する変更を時間とともに追跡可能とするシステム。 分類として、以下の3つが存在する。 ローカルバージョン管理システム 集中型バージョン管理システム 分散型バージョ…

Javaのデスクトップアプリの作り方

前回の記事で、Javaの開発環境の構築が完了したので、今回はデスクトップアプリの作成方法を説明していく。 ※デスクトップアプリとは、PCのデスクトップ上で動作するアプリのこと 今回は、下記を達成することが目標です。 Eclipse上でコード修正・動作確認 .…

Javaの開発環境を構築する(Eclipse)

Javaのプログラムを書き始めるまでに必要な環境構築手順を説明する。 統合開発環境として、Eclipseを使用する。 Javaの簡単なプロジェクトで「Hello World」を標準出力するところまでまとめます。 1. Eclipseダウンロード 下記のページにアクセスして、Eclip…

Spring Securityでフォーム認証を実装する(設定編)ー Spring Security ver 6.0.0以降の場合

SpringSecirityはバージョンごとに設定の書き方が大幅に変更されている。 ここでは、バージョンごとに記載方法が大きく変更となっているJavaConfig の記載方法についてまとめる。 バージョンによらない部分の実装については、下記の記事参照。 olafnosuke.ha…

Spring Securityでフォーム認証を実装する(設定編)ー Spring Security ver 5.7.0以降6.0.0より前の場合

SpringSecirityはバージョンごとに設定の書き方が大幅に変更されている。 ここでは、バージョンごとに記載方法が大きく変更となっているJavaConfig の記載方法についてまとめる。 バージョンによらない部分の実装については、下記の記事参照。 olafnosuke.ha…

Spring Securityでフォーム認証を実装する(設定編)ー Spring Security ver 5.7.0より前の場合

SpringSecirityはバージョンごとに設定の書き方が大幅に変更されている。 ここでは、バージョンごとに記載方法が大きく変更となっているJavaConfig の記載方法についてまとめる。 バージョンによらない部分の実装については、下記の記事参照。 olafnosuke.ha…

Spring Securityでフォーム認証を実装する(実装編)

SpringSecurityはバージョンごとに設定の書き方が大幅に変更されている。 ここでは、バージョンごとに共通となっている処理の記載方法についてまとめる。 依存関係の追加 dependencies { // Spring implementation 'org.springframework.boot:spring-boot-st…

SpringRetryを使用したリトライ処理の追加方法

依存関係の追加 SpringRetryを追加する。 リトライ処理の実装にはAOPを使用しているため、AOPが使用できるように別途モジュールも追加する。 dependencies { // Spring Retry implementation 'org.springframework.retry:spring-retry' // Spring Boot Start…

Spring Bootにおけるキャッシュの有効化と利用方法

依存関係の追加 Spring側にはキャッシュ処理のインターフェースのみ用意されているので、キャッシュ使用時には別途実装を用意する必要がある。 Caffeineはキャッシュの実装を提供するモジュールである。 dependencies { // Spring Boot Starter Cache implem…

Gradleを使用したマルチプロジェクトのカバレッジレポート一括出力(JaCoCo Report Aggregation Plugin)

サブプロジェクトのカバレッジレポートを1つにまとめて出力させるにはJaCoCo Report Aggregation Pluginを使用する。 カバレッジレポート一括出力にあたって、SpringBootプロジェクトを使用していてハマった所があるので、以下の実装手順もSpringBootプロジ…

Gradleを使用したマルチプロジェクトのテストレポート一括出力(Test Report Aggregation Plugin)

プラグインを使用したテストレポート一括出力のサンプルとして、下記の2パターンのマルチプロジェクトの例を記載する。 (書き方は基本的には一緒なので似たような説明が2回記載されているが、どっちでも使えることを示すための記載である。) プロジェクト…

Gradleを使用したマルチプロジェクトのテストレポート一括出力

プラグインを使用しないテストレポート一括出力のサンプルとして、 下記の2パターンのマルチプロジェクトの例を記載する。 (書き方は基本的には一緒なので似たような説明が2回記載されているが、どっちでも使えることを示すための記載である。) マルチプロ…

カバレッジレポート出力(Gradle Jacoco Plugin)

Gradleでのカバレッジレポート出力には、「The JaCoCo Plugin」のプラグインを使用する。 Jacoco公式ドキュメント:jacoco公式 カバレッジについては、下記サイトなど参照。 atgo.rgsis.com 1. プラグインの追加 カバレッジレポートを出力したいプロジェクト…

PMD Java Rules (ver 7.0.0-rc4)- Best Practices ①

PMDバージョン: 7.0.0-rc4 AbstractClassWithoutAbstractMethod 公式ドキュメント: AbstractClassWithoutAbstractMethod Since: PMD 3.0 Priority: Medium (3) Description: 抽象メソッドを含まない抽象クラスを検出する。 抽象クラスは不完全な実装を…

PMD JavaScript Rules (ver 7.0.0-rc4)- Error Prone

PMDバージョン: 7.0.0-rc4 AvoidTrailingComma 公式ドキュメント: AvoidTrailingComma Since: PMD 5.1 Priority: High (1) Description: ブラウザによってオブジェクトや配列リテラルの末尾のコンマの扱いが異なるため、末尾にコンマを書かないように留…

PMD JavaScript Rules (ver 7.0.0-rc4)- Code Style

PMDバージョン: 7.0.0-rc4 AssignmentInOperand 公式ドキュメント: AssignmentInOperand Since: PMD 5.0 Priority: Medium High (2) Description: 条件式内での値の代入は避ける。コードが複雑になり、読みにくくなる。 等号演算子「==」の代わりに代入…

PMD JavaScript Rules (ver 7.0.0-rc4)- Best Practices

PMDバージョン: 7.0.0-rc4 Best Practices AvoidWithStatement 公式ドキュメント: AvoidWithStatement Since: PMD 5.0.1 Priority: High (1) Description: withの使用を避けるべきである。 Configuration: <rule ref="category/ecmascript/bestpractices.xml/AvoidWithStatement" /> Example: with (object) { property = 3; //</rule>…

PMD HTML Rules (ver 7.0.0-rc4)

PMDバージョン: 7.0.0-rc4 Best Practices AvoidInlineStyles 公式ドキュメント: AvoidInlineStyles Since: PMD 6.45.0 Priority: Medium (3) Description: コンテンツとスタイルを混在させない。スタイルと導入クラスには別々のCSSファイル使用する。 …

Spring BootでAzure Blob Storageを操作する

Spring BootでAzure Blob Storageを操作する Spring BootにおけるAzure Blob Storageの操作にはspring-cloud-azure-starter-storage-blobを使用する。 spring-cloud-azure-starter-storage-blobを使用するには、併せてazure-spring-boot-bomを追加する必要が…

GradleのVersionCatalogを使用する

Version Catalogとは Gralde 7.0~導入された、依存関係やプラグインを集約管理するための設定方法。 公式:Sharing dependency versions between projects 単一プロジェクトの場合、build.gradleも1ファイルで完結することが多いので、あまり良さが感じられ…

Gradleで外部コマンドを実行する(Checkstyleを実行する)

Gradleでは、タスクの中で外部コマンドを実行することができる。 Gradle CheckStyle Pluginは、JavaコードだけしかCheckしないため、他のファイルに対してチェックを行うために、外部コマンドでチェックを実行する時の実装を紹介する。 以下のコードでは、ソ…

SpringBootでDBUnitを使用したJunitを作成する

依存関係の追加 テストの作成:DBUnitを使用するための設定 エクセルファイルのローダークラス作成 DB接続設定 テストクラスの作成 @SpringBootTest @TestExecutionListeners @DbUnitConfiguration @Transactional テスト用Configurationクラスの作成 エクセ…

Gradle Checkstyle Pluginで日本語エラーメッセージが文字化けする問題の解決方法

事象 Gradle Checkstyle PluginでCheckstyleのタスクを実行した際に、 チェックエラーがあった場合、コマンドプロンプト上にエラーメッセージが表示される。 特に何も設定していない場合、下記の画像のように、エラーメッセージが文字化けしてしまうという事…

QueueStorageTriggerの作成(Spring Boot)

Spring Boot でAzure FunctionsのQueueStorageTriggerを実装して、ローカルで動作確認する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン ファンクションを新規追加する Configクラス作成 Function…