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

バリデーションのグルーピング

バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com バリデーションのグルーピングの実装 バリデーションを複数つけているフィールドで、バリデーションの順番を指定したい場合や、条件によってバリデーションする項目や条件を…

カスタムバリデーションの実装方法

バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com 提供されているアノテーション以外のバリデーションを行う場合、独自でバリデーション処理を実装する必要がある。 単項目チェックのカスタムバリデーションの実装方法 「文字…

Spring Boot:提供されているバリデーションの種類

バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com Spring Bootで使用できるバリデーションはココを参照。 数値のバリデーション @Max 入力値が最大値以下であるかをチェックする。 対象の型:BigDecimal、BigInteger、byte、s…

Spring Bootが提供するバリデーションの使用方法

依存関係の追加 spring-boot-starter-validationの依存関係を追加する。 gradleを使用している場合、以下の記述をbuild.gradleに追加する。 // Hibernate Validator で Java Bean Validation を使用するためのスターター implementation 'org.springframewor…

SpringBootで画面と値のやり取りをしたい(ModelとModelAndView)

ModelとModelAndViewの使い方 Controllerクラスのメソッドの引数について 画面と値をやりとりするのに、ModelもしくはModelAndViewを使用する。 参考:https://spring.pleiades.io/spring-framework/docs/5.3.10/reference/html/web.html#mvc-controller Mod…

OSSの追加方法(Java)

OSSの追加方法(Java) Eclipseでツールを使わずにOSSを追加する OSSの使用するためには、使用したいOSSのjarファイルをクラスパスに追加する必要がある。 使用したいOSSのjarファイルをダウンロードする プロジェクトのルートにlibファイルを作成しそこにja…

Checkstyle チェック項目ーWhitespace

Checkstyleチェック項目:Whitespace CheckStyle公式ドキュメント ver 10.3.1 EmptyForInitializerPad for文の空の初期化式に空白を許可するかどうかをチェックする。 forの初期化式後に改行されている場合はチェックが実行されない。 〇forの初期化式とは f…

Checkstyle チェック項目ーSize Violations

Checkstyleチェック項目:Size Violations CheckStyle公式ドキュメント ver 10.3.1 AnonInnerLength checkstyle-java.hatenablog.com ExecutableStatementCount checkstyle-java.hatenablog.com FileLength checkstyle-java.hatenablog.com LambdaBodyLength…

Spring Bootでアプリケーション起動時にタイムゾーンを設定する

SpringApplicationEventを使用することで実現可能。 Spring Bootがデフォルトで用意しているイベントには以下がある。 イベントクラス名 説明 ApplicationFailedEvent SpringApplicationの開始に失敗したときにSpringApplicationによって発行されるイベント…

Spring Bootでサーブレットフィルターを作成する

サーブレットフィルターは、サーブレットやJSP(Springではコントローラー)において「共通の前後処理を記述するための仕組み」のことを指す。 javax.servlet.Filterを実装して作成する。 フィルタークラスの実装 Filterインターセプターには3つのメソッドが…

Checkstyle チェック項目ーRegexp

Checkstyleチェック項目:Regexp チェック実行例をより詳しく知りたい場合は公式を参照のこと。 ver 10.3.1 Regexp 指定されたパターンがファイル内に存在するか、存在する回数が設定値以下か、存在しないかをチェックする。 プロパティ プロパティ 型 デフ…

Checkstyle チェック項目ーNaming Conventions

Checkstyleチェック項目:Naming Conventions CheckStyle公式ドキュメント ver 10.3.1 AbbreviationAsWordInName checkstyle-java.hatenablog.com AbstractClassName checkstyle-java.hatenablog.com CatchParameterName checkstyle-java.hatenablog.com Cla…

Checkstyle チェック項目ーModifiers

Checkstyleチェック項目:Modifiers CheckStyle公式ドキュメント ver 10.3.1 ClassMemberImpliedModifier クラスおよびレコードのネストされた型に対する暗黙の修飾子をチェックする。 クラスやレコードのネストされた型の修飾子をチェックし、特定の修飾子…

Checkstyle チェック項目ーMiscellaneous

Checkstyleチェック項目:Miscellaneous CheckStyle公式ドキュメント ver 10.3.1 ArrayTypeStyle 配列の型定義のスタイルをチェックする。 JavaスタイルとCスタイルから選択可能。 Javaスタイル(デフォルト):public static void main(String args) Cスタ…

Checkstyle チェック項目ーMetrics

Checkstyleチェック項目:Metrics CheckStyle公式ドキュメント ver 10.3.1 BooleanExpressionComplexity 式中のboolean演算子(&&、 ||、 &、 |、 ^)の数を制限する。 プロパティ プロパティ 型 デフォルト値 説明 max int 3 1つの式で許可されるboolean演…

Checkstyle チェック項目ーJavadoc Comments

Checkstyleチェック項目:Javadoc Comments CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AtclauseOrder checkstyle-java.hatenablog.com InvalidJavadocPosition checkstyle-java.hatenablog.com JavadocBlockTag…

Checkstyle チェック項目ーImports

Checkstyleチェック項目:Imports CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AvoidStarImport checkstyle-java.hatenablog.com AvoidStaticImport checkstyle-java.hatenablog.com CustomImportOrder checkstyl…

Checkstyle チェック項目ーHeaders

Checkstyleチェック項目:Headers CheckStyle公式ドキュメント ver 10.3.1 RegexpHeader ソースファイルのヘッダを、ソースヘッダの各行に対応するパターンを含むヘッダと照合してチェックする。 プロパティ プロパティ 型 デフォルト値 説明 headerFile URI…

Checkstyle チェック項目ーCoding

Checkstyleチェック項目:Coding CheckStyle公式ドキュメント ver 10.3.1 ArrayTrailingComma 配列の初期化時に、末尾にコンマが含まれているかどうかをチェックする。 デフォルトでは、配列の最後の要素と同じ行に左中括弧も右中括弧もない場合、最後にコン…

Checkstyle チェック項目ーClass Design

Checkstyleチェック項目:Class Design CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 DesignForExtension checkstyle-java.hatenablog.com FinalClass checkstyle-java.hatenablog.com HideUtilityClassConstructo…

Checkstyle チェック項目ーBlock Checks

Checkstyleチェック項目:Block Checks CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AvoidNestedBlocks checkstyle-java.hatenablog.com EmptyBlock checkstyle-java.hatenablog.com EmptyCatchBlock checkstyle-…

Checkstyle チェック項目ーAnnotation

Checkstyleチェック項目:Annotation CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AnnotationLocation checkstyle-java.hatenablog.com AnnotationOnSameLine checkstyle-java.hatenablog.com AnnotationUseStyle…

Azure Cosmos DB EmulatorをJavaで操作する(実装編)

前回の記事でAzure Cosmos DB EmulatorにJavaから接続するための設定が完了したので、今回は実際にAzure Cosmos DB Emulatorを操作する処理を実装していく。 Azure Cosmos DB EmulatorにJavaから接続するための設定は以下の記事を参照 olafnosuke.hatenablog…

Azure Cosmos DB EmulatorをJavaで操作する(準備編)

2記事に分けて、Java(Spring Boot)からAzure Cosmos DB Emulatorを操作する手順をまとめます 。 今回はJava側からEmulatorに接続するための準備段階の手順についてまとめていきます。 Azure Cosmos DB Emulatorのダウンロード 以下のサイトからダウンロー…

SwaggerファイルをAPI Blueprintファイルへ変換する

API Blueprintファイルへの変換 Swaggerファイルへの変換ツールとして API Elements CLIを使用する。 API Elements CLI(Github) サンプルとして、以下のSwaggerファイルをAPI Blueprintファイルに変換する。 openapi: '3.0.0' info: title: サンプルAPI desc…

Swaggerファイルでモックサーバ起動

Swaggerファイルを使用してモックサーバを起動する方法をまとめる。 モックサーバーには prism を使用する。 prism(Github) 仕様書作成準備 作成したAPI仕様書を管理するためのディレクトリを作成し、npm initコマンドを実行する。 以下は作成されたpackage.…

ソースコードのフォーマットチェック(Gradle Plugin)

spotless plugin ソースコードなどのフォーマットチェックおよびフォーマッットを行うタスクを提供するプラグイン Github 以下の言語のフォーマットに対応している Java (google-java-format, eclipse jdt, clang-format, prettier, palantir-java-format) G…

jsファイルとcssファイルをminifyする(Gradle Plugin)

gradle minify plugin https://github.com/gradle-webtools/gradle-minify-plugin 依存関係の追加 build.gradleにプラグインを追加する。 plugins { id("org.gradlewebtools.minify") version "1.3.1" } プラグインの設定 オプションはかなり多く存在してい…

Doma2で楽観排他

Doma2で楽観排他を実現する方法と更新失敗時の例外処理についてまとめる。 Domaの設定方法 エンティティクラスの楽観ロック用のバージョンカラムにあたるメンバ変数に@Versionを付与する。 @Entity @Table(name = "sample") @ToString @EqualsAndHashCode pu…

エンティティの型を変更する方法(Doma2)

①ドメインクラスの定義 1. エンティティでマッピングに使用するクラスに@Domainアノテーションを付与する 2. アノテーションの属性factoryMethodでインスタンスを生成するためのメソッド名を指定する 3. アノテーションの属性accessorMethodでラップする値を…