2022-01-01から1年間の記事一覧
バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com バリデーションのグルーピングの実装 バリデーションを複数つけているフィールドで、バリデーションの順番を指定したい場合や、条件によってバリデーションする項目や条件を…
バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com 提供されているアノテーション以外のバリデーションを行う場合、独自でバリデーション処理を実装する必要がある。 単項目チェックのカスタムバリデーションの実装方法 「文字…
バリデーションの基本的な使用方法は、以下の記事参照 olafnosuke.hatenablog.com Spring Bootで使用できるバリデーションはココを参照。 数値のバリデーション @Max 入力値が最大値以下であるかをチェックする。 対象の型:BigDecimal、BigInteger、byte、s…
依存関係の追加 spring-boot-starter-validationの依存関係を追加する。 gradleを使用している場合、以下の記述をbuild.gradleに追加する。 // Hibernate Validator で Java Bean Validation を使用するためのスターター implementation 'org.springframewor…
ModelとModelAndViewの使い方 Controllerクラスのメソッドの引数について 画面と値をやりとりするのに、ModelもしくはModelAndViewを使用する。 参考:https://spring.pleiades.io/spring-framework/docs/5.3.10/reference/html/web.html#mvc-controller Mod…
OSSの追加方法(Java) Eclipseでツールを使わずにOSSを追加する OSSの使用するためには、使用したいOSSのjarファイルをクラスパスに追加する必要がある。 使用したいOSSのjarファイルをダウンロードする プロジェクトのルートにlibファイルを作成しそこにja…
Checkstyleチェック項目:Whitespace CheckStyle公式ドキュメント ver 10.3.1 EmptyForInitializerPad for文の空の初期化式に空白を許可するかどうかをチェックする。 forの初期化式後に改行されている場合はチェックが実行されない。 〇forの初期化式とは f…
Checkstyleチェック項目:Size Violations CheckStyle公式ドキュメント ver 10.3.1 AnonInnerLength checkstyle-java.hatenablog.com ExecutableStatementCount checkstyle-java.hatenablog.com FileLength checkstyle-java.hatenablog.com LambdaBodyLength…
SpringApplicationEventを使用することで実現可能。 Spring Bootがデフォルトで用意しているイベントには以下がある。 イベントクラス名 説明 ApplicationFailedEvent SpringApplicationの開始に失敗したときにSpringApplicationによって発行されるイベント…
サーブレットフィルターは、サーブレットやJSP(Springではコントローラー)において「共通の前後処理を記述するための仕組み」のことを指す。 javax.servlet.Filterを実装して作成する。 フィルタークラスの実装 Filterインターセプターには3つのメソッドが…
Checkstyleチェック項目:Regexp チェック実行例をより詳しく知りたい場合は公式を参照のこと。 ver 10.3.1 Regexp 指定されたパターンがファイル内に存在するか、存在する回数が設定値以下か、存在しないかをチェックする。 プロパティ プロパティ 型 デフ…
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公式ドキュメント ver 10.3.1 ClassMemberImpliedModifier クラスおよびレコードのネストされた型に対する暗黙の修飾子をチェックする。 クラスやレコードのネストされた型の修飾子をチェックし、特定の修飾子…
Checkstyleチェック項目:Miscellaneous CheckStyle公式ドキュメント ver 10.3.1 ArrayTypeStyle 配列の型定義のスタイルをチェックする。 JavaスタイルとCスタイルから選択可能。 Javaスタイル(デフォルト):public static void main(String args) Cスタ…
Checkstyleチェック項目:Metrics CheckStyle公式ドキュメント ver 10.3.1 BooleanExpressionComplexity 式中のboolean演算子(&&、 ||、 &、 |、 ^)の数を制限する。 プロパティ プロパティ 型 デフォルト値 説明 max int 3 1つの式で許可されるboolean演…
Checkstyleチェック項目:Javadoc Comments CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AtclauseOrder checkstyle-java.hatenablog.com InvalidJavadocPosition checkstyle-java.hatenablog.com JavadocBlockTag…
Checkstyleチェック項目:Imports CheckStyle公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AvoidStarImport checkstyle-java.hatenablog.com AvoidStaticImport checkstyle-java.hatenablog.com CustomImportOrder checkstyl…
Checkstyleチェック項目:Headers CheckStyle公式ドキュメント ver 10.3.1 RegexpHeader ソースファイルのヘッダを、ソースヘッダの各行に対応するパターンを含むヘッダと照合してチェックする。 プロパティ プロパティ 型 デフォルト値 説明 headerFile URI…
Checkstyleチェック項目:Coding CheckStyle公式ドキュメント ver 10.3.1 ArrayTrailingComma 配列の初期化時に、末尾にコンマが含まれているかどうかをチェックする。 デフォルトでは、配列の最後の要素と同じ行に左中括弧も右中括弧もない場合、最後にコン…
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公式ドキュメント 検証環境 Checkstyleバージョン:10.3.3 Javaバージョン:17 AvoidNestedBlocks checkstyle-java.hatenablog.com EmptyBlock checkstyle-java.hatenablog.com EmptyCatchBlock checkstyle-…
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を操作する処理を実装していく。 Azure Cosmos DB EmulatorにJavaから接続するための設定は以下の記事を参照 olafnosuke.hatenablog…
2記事に分けて、Java(Spring Boot)からAzure Cosmos DB Emulatorを操作する手順をまとめます 。 今回はJava側からEmulatorに接続するための準備段階の手順についてまとめていきます。 Azure Cosmos DB Emulatorのダウンロード 以下のサイトからダウンロー…
API Blueprintファイルへの変換 Swaggerファイルへの変換ツールとして API Elements CLIを使用する。 API Elements CLI(Github) サンプルとして、以下のSwaggerファイルをAPI Blueprintファイルに変換する。 openapi: '3.0.0' info: title: サンプルAPI desc…
Swaggerファイルを使用してモックサーバを起動する方法をまとめる。 モックサーバーには prism を使用する。 prism(Github) 仕様書作成準備 作成したAPI仕様書を管理するためのディレクトリを作成し、npm initコマンドを実行する。 以下は作成されたpackage.…
spotless plugin ソースコードなどのフォーマットチェックおよびフォーマッットを行うタスクを提供するプラグイン Github 以下の言語のフォーマットに対応している Java (google-java-format, eclipse jdt, clang-format, prettier, palantir-java-format) G…
gradle minify plugin https://github.com/gradle-webtools/gradle-minify-plugin 依存関係の追加 build.gradleにプラグインを追加する。 plugins { id("org.gradlewebtools.minify") version "1.3.1" } プラグインの設定 オプションはかなり多く存在してい…
Doma2で楽観排他を実現する方法と更新失敗時の例外処理についてまとめる。 Domaの設定方法 エンティティクラスの楽観ロック用のバージョンカラムにあたるメンバ変数に@Versionを付与する。 @Entity @Table(name = "sample") @ToString @EqualsAndHashCode pu…
①ドメインクラスの定義 1. エンティティでマッピングに使用するクラスに@Domainアノテーションを付与する 2. アノテーションの属性factoryMethodでインスタンスを生成するためのメソッド名を指定する 3. アノテーションの属性accessorMethodでラップする値を…