SpringSecirityはバージョンごとに設定の書き方が大幅に変更されている。 ここでは、バージョンごとに記載方法が大きく変更となっているJavaConfig の記載方法についてまとめる。 バージョンによらない部分の実装については、下記の記事参照。 olafnosuke.ha…
SpringSecirityはバージョンごとに設定の書き方が大幅に変更されている。 ここでは、バージョンごとに記載方法が大きく変更となっているJavaConfig の記載方法についてまとめる。 バージョンによらない部分の実装については、下記の記事参照。 olafnosuke.ha…
SpringSecirityはバージョンごとに設定の書き方が大幅に変更されている。 ここでは、バージョンごとに記載方法が大きく変更となっているJavaConfig の記載方法についてまとめる。 バージョンによらない部分の実装については、下記の記事参照。 olafnosuke.ha…
SpringSecurityはバージョンごとに設定の書き方が大幅に変更されている。 ここでは、バージョンごとに共通となっている処理の記載方法についてまとめる。 依存関係の追加 dependencies { // Spring implementation 'org.springframework.boot:spring-boot-st…
依存関係の追加 SpringRetryを追加する。 リトライ処理の実装にはAOPを使用しているため、AOPが使用できるように別途モジュールも追加する。 dependencies { // Spring Retry implementation 'org.springframework.retry:spring-retry' // Spring Boot Start…
依存関係の追加 Spring側にはキャッシュ処理のインターフェースのみ用意されているので、キャッシュ使用時には別途実装を用意する必要がある。 Caffeineはキャッシュの実装を提供するモジュールである。 dependencies { // Spring Boot Starter Cache implem…
サブプロジェクトのカバレッジレポートを1つにまとめて出力させるにはJaCoCo Report Aggregation Pluginを使用する。 カバレッジレポート一括出力にあたって、SpringBootプロジェクトを使用していてハマった所があるので、以下の実装手順もSpringBootプロジ…
プラグインを使用したテストレポート一括出力のサンプルとして、下記の2パターンのマルチプロジェクトの例を記載する。 (書き方は基本的には一緒なので似たような説明が2回記載されているが、どっちでも使えることを示すための記載である。) プロジェクト…
プラグインを使用しないテストレポート一括出力のサンプルとして、 下記の2パターンのマルチプロジェクトの例を記載する。 (書き方は基本的には一緒なので似たような説明が2回記載されているが、どっちでも使えることを示すための記載である。) マルチプロ…
Gradleでのカバレッジレポート出力には、「The JaCoCo Plugin」のプラグインを使用する。 Jacoco公式ドキュメント:jacoco公式 カバレッジについては、下記サイトなど参照。 atgo.rgsis.com 1. プラグインの追加 カバレッジレポートを出力したいプロジェクト…
PMDバージョン: 7.0.0-rc4 AbstractClassWithoutAbstractMethod 公式ドキュメント: AbstractClassWithoutAbstractMethod Since: PMD 3.0 Priority: Medium (3) Description: 抽象メソッドを含まない抽象クラスを検出する。 抽象クラスは不完全な実装を…
PMDバージョン: 7.0.0-rc4 AvoidTrailingComma 公式ドキュメント: AvoidTrailingComma Since: PMD 5.1 Priority: High (1) Description: ブラウザによってオブジェクトや配列リテラルの末尾のコンマの扱いが異なるため、末尾にコンマを書かないように留…
PMDバージョン: 7.0.0-rc4 AssignmentInOperand 公式ドキュメント: AssignmentInOperand Since: PMD 5.0 Priority: Medium High (2) Description: 条件式内での値の代入は避ける。コードが複雑になり、読みにくくなる。 等号演算子「==」の代わりに代入…
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バージョン: 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-cloud-azure-starter-storage-blobを使用する。 spring-cloud-azure-starter-storage-blobを使用するには、併せてazure-spring-boot-bomを追加する必要が…
Version Catalogとは Gralde 7.0~導入された、依存関係やプラグインを集約管理するための設定方法。 公式:Sharing dependency versions between projects 単一プロジェクトの場合、build.gradleも1ファイルで完結することが多いので、あまり良さが感じられ…
Gradleでは、タスクの中で外部コマンドを実行することができる。 Gradle CheckStyle Pluginは、JavaコードだけしかCheckしないため、他のファイルに対してチェックを行うために、外部コマンドでチェックを実行する時の実装を紹介する。 以下のコードでは、ソ…
依存関係の追加 テストの作成:DBUnitを使用するための設定 エクセルファイルのローダークラス作成 DB接続設定 テストクラスの作成 @SpringBootTest @TestExecutionListeners @DbUnitConfiguration @Transactional テスト用Configurationクラスの作成 エクセ…
事象 Gradle Checkstyle PluginでCheckstyleのタスクを実行した際に、 チェックエラーがあった場合、コマンドプロンプト上にエラーメッセージが表示される。 特に何も設定していない場合、下記の画像のように、エラーメッセージが文字化けしてしまうという事…
Spring Boot でAzure FunctionsのQueueStorageTriggerを実装して、ローカルで動作確認する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン ファンクションを新規追加する Configクラス作成 Function…
GradleのPMD Pluginでは、日本語メソッド名を含むソースコードに対するPMDの実行でエラーが発生する(Windows)。 原因として、PMDがソースを読み込むときのエンコーディングがシステムプロパティ依存であることが挙げられる。 以下のリンクのソースの16行目…
Spring Initializrで作成したJavaプロジェクトを最新のEclipse(2023-03)にインポートすると、 「プロジェクト 'java-project' はエンコーディングが明示的に設定されていません」という内容の警告が出てくる。 Eclipseが作成する設定ファイルに、エンコー…
Eclipse Pluginの使い方 設定 分析力 報告する最小ランク レポートする最低の信頼度 報告(可視)バグ・カテゴリー フィルターファイル ディテクター構成 実行 手動で実行する 自動で実行する Gradle Pluginの使い方 依存関係の追加 設定 タスク Eclipse Plu…
シーケンス作成 サンプル CREATE SEQUENCE sample INCREMENT BY 1 MAXVALUE 99999999 START WITH 1 NO CYCLE; CREATE SEQUENCEとパラメータの説明 CREATE SEQUENCE:新しいシーケンス番号ジェネレータを作成する。sampleの部分には作成したいシーケンスの名…
公式ドキュメント Beanクラスの作成 @CsvBeanの属性について header validateHeader headerMapper validators listeners @CsvColumnの属性について number label builder CSVファイルの書き込み 1行ずつ書き込む 複数行まとめて書き込む CSVファイルの読み込…
Dao・Entity・Sqlファイルの自動生成 doma-codegen-pluginは、データベースに接続しテーブルのメタデータからDao/Entity/Sqlファイルを自動作成するツールである。 自動生成時に、カラムを任意の方にマッピングさせたい場合は、以下の記事も合わせて参照する…
CSVファイル書き込み 最小限のコードで実装 CSVの1レコードのデータを保持するクラスの作成 CSVファイルに書き込む処理の実装 StatefulBeanToCsvBuilderの設定 区切り文字の設定 改行コードの設定 ヘッダやレコードの囲み文字の設定 ヘッダやレコードを全て…
JSONPath XML の利点としてよく強調されるのは、XML 文書を分析し、変換し、選択的にデータを抽出するための豊富なツールが利用可能であることであり、XPathはこのような強力なツールの一つ。 XPath4JSON 特別なスクリプトを作成することなく、クライアント…
Spring Boot でAzure FunctionsのTimerTriggerを実装して、ローカルで動作確認する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン ファンクションを新規追加する Configクラスの作成 Functionクラ…