Java

PMD Java Rules (ver 7.13.0)- Best Practices ②

PMDのバージョン7.13.0のJava Rulesのうち、Best Practicesカテゴリについてまとめました。

RestTemplateを使ったAPI呼び出しをする(Spring Boot)

依存関係の追加 RestTemplateのインスタンスを作成する コンストラクタで作成する RestTemplate() RestTemplate(ClientHttpRequestFactory requestFactory) RestTemplate(List<HttpMessageConverter<?>> messageConverters) RestTemplateBuilderを使用する RestTemplateでリクエスト</httpmessageconverter<?>…

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

Javaでデスクトップアプリを作る方法の続編です。今回は画面上にテキストボックスやボタンを追加する方法について説明しています。

AzureAD認証の導入手順(SpringBoot)

SpringBoot(Java)プロジェクトでAzureAD認証を追加するための実装方法について記載していく。 依存関係の追加 Azure AD認証を導入したいプロジェクトのbuild.gradleに「Spring Cloud Azure Starter Active Directory」の依存関係を追加する。 dependencies {…

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の起動時のパラメータを…

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によらない共通実装部分について記載する。 必要な…

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.13.0)- Best Practices ①

PMDバージョン: 7.13.0 AbstractClassWithoutAbstractMethod 公式ドキュメント: AbstractClassWithoutAbstractMethod Since: PMD 3.0 Priority: Medium (3) Description: 抽象クラスに抽象メソッドが含まれていない場合、このルールが適用されます。 抽…

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…

日本語メソッド名を含むテストのPMD適用

GradleのPMD Pluginでは、日本語メソッド名を含むソースコードに対するPMDの実行でエラーが発生する(Windows)。 原因として、PMDがソースを読み込むときのエンコーディングがシステムプロパティ依存であることが挙げられる。 以下のリンクのソースの16行目…

SpotBugs Plugin使用方法(Eclipse・Gradle Plugin)

Eclipse Pluginの使い方 設定 分析力 報告する最小ランク レポートする最低の信頼度 報告(可視)バグ・カテゴリー フィルターファイル ディテクター構成 実行 手動で実行する 自動で実行する Gradle Pluginの使い方 依存関係の追加 設定 タスク Eclipse Plu…