SpringBoot

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

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

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

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…

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

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

QueueStorageTriggerの作成(Spring Boot)

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

Dao・Entity・Sqlファイルの自動生成(Doma Codegen Plugin)

Dao・Entity・Sqlファイルの自動生成 doma-codegen-pluginは、データベースに接続しテーブルのメタデータからDao/Entity/Sqlファイルを自動作成するツールである。 自動生成時に、カラムを任意の方にマッピングさせたい場合は、以下の記事も合わせて参照する…

EventGrid Triggerの作成(Spring Boot)

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

HTTP Triggerの作成(Spring Boot)

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

Spring Bootで動作するAzure Functionsプロジェクト作成(Gradleプロジェクト)

プロジェクト作成 1. 必要なツールのインストール 〇Node.js(Windows 64bit版 LTS v14.17.6) 以下のサイトからインストール。 https://nodejs.org/ja/download/ 〇Azure Functions Core Tools コマンドプロンプトで以下のコマンドを実行する。参考 npm i -…

mockMvcを使用したControllerのテスト方法(Spring Boot)

mockMvcを使用したControllerのテスト方法(Spring Boot) Controllerのテストやフィルターやインターセプターが実際に動作しているのか検証する際にMockMvcを使用する。 テストの作成方法をメモしておく。 シンプルなControllerのテスト作成 以下がテスト対象…

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

バリデーションの基本的な使用方法は、以下の記事参照 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…

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

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

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

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

Spring Bootで非同期処理

Spring Bootで非同期処理を実装する方法を説明する。 非同期で実行したいメソッドを作成する Service実装クラスで、非同期で実行したいメソッドを実装する。 メソッドに@Asyncのアノテーションを付与する 属性値に非同期処理の設定のbean名を指定する メソッ…

プロパティの有無/値によってBean登録するクラスを切り替える(Spring Boot)

@ConditionalOnProperty SpringBootが提供しているアノテーションで、ある特定のプロパティが指定の値かどうかチェックを行う。 チェック結果がtrueの場合、アノテーションを付与しているメソッドが実行され、bean登録される。 アノテーションの属性には以下…

JavaでMongoDBを操作する(SpringBoot)

MongoDBの導入手順は以下の記事に記述しています。 olafnosuke.hatenablog.com JavaでMongoDBを操作する(SpringBoot) 依存関係の追加 build.gradleにspring-boot-starter-data-mongodbの依存関係を追加する。 dependencies { implementation 'org.springfr…