暇な日々にスパイスを

学んだ技術の備忘録

Spring Boot

Spring Boot 20 実行時のコンソール廃止

Spring Bootで作成したアプリケーション(jar)をWindowsで実行時にはコンソールに表示していました。 ログも流れて確認しやすいですし、終了時はコンソールを閉じれば良いため便利でした。 しかし、コンソールを閉じるとアプリケーションも強制終了してしまい…

Spring Boot 19 CORSを許可する

Spring Bootで実装したAPIを、異なるドメインのページからAjaxで呼び出した際に以下のエラーが発生し、Ajax側がこけます。 No 'Access-Control-Allow-Origin' header is present on the requested resource. セキュリティ上、異なるドメインをAjaxで呼び出す…

SpringBoot 18 エラー時のデフォルトレスポンスを実装

SpringBootではエラー時のデフォルトレスポンスが実装されています。 StackTraceまで表示されるのはデバッグ時には便利ですが、ユーザには見せたくありません。 また、独自のエラーレスポンスで置換えたい時があります。 そこで、デフォルトレスポンスを実装…

Spring Boot 17 RestTemplateのバグ対策

久々のSpring Bootです。 RestTemplateでエラー時のテスト実装中にハマりました。 RestTemplateは返り値のステータスコードが異常系の場合、HttpClientExceptionを発生させます。 このHttpClientExceptionからステータスコードやレスポンスボディを取得可能…

Spring Boot 16 環境ごとに設定ファイルを変更

ローカル,検証,公開と環境に合わせて変更したい設定が有る場合に、都度設定ファイルを用意するのは手間ですし、バグの元です。 それぞれの環境ごとの設定ファイルを用意し、実行時に指定した設定ファイルを読み込むようにします。

Spring Boot 15 Proxyの設定

家で開発している分には現れないですが、職場だとProxyの設定が必要になってくることもあります。 そこで、RestTemplateに一括してProxyを設定します。

Spring Boot 14 内製Tomcatを起動しない

SpringBootで作るWebAppの利点に内製Tomcatが有るというのがあります。 spring-boot-starter-web をgradleやmavenで追加するだけで起動するようになります。 この spring-boot-starter-web には簡単にRestClientを作成できるRestTemplateも含まれています。 …

Spring Batch チャンク管理された一連処理

Spring Batch 前回からの続きです。 今回は、公式に乗っていたチャンク管理された一連処理についてです。

Spring Batch Hello world

Spring Batchを試していきます。 Batch処理はshellかrubyで書けば良いと思うんですが、せっかくのSpring系列にいたので試してみます。 利点としてはプロパティファイルを共有できるという点があるようです。

Spring Boot 13 リストの表示

画面へ繰り返し項目の表示を行います。

Spring Boot 12 多言語化対応

i18nと呼ばれる多言語化の対応を行います。

Spring Boot 11 navbarによるヘッダの作成と読込み

BootStrapのnavbarで作成した共通のヘッダを、Tyhmeleafの機能で埋め込みます。

SpringBoot 10 Thymeleafで画面作成

Spring Bootの画面を作成していきます。 SpringBootの画面はThymeleafで作成していきます。 その他にも手段はあります。(JSPは非推奨とのこと)

Spring Boot 9 Error遷移時の共通処理

Error遷移時の共通処理を実装していきます。

Spring Boot 8 リクエスト, レスポンスのログ出し

SpringBootのログ出しについてです。 以前書いたAOPのログ出しですが、 メソッドのIn,Outについての出力です。 WebAPIではリクエスト,レスポンスも出力出来たほうが良いと思います。 そこで、Controlerの前後に実行されるInterceptorを実装します。

Spring Boot 7 Jacksonのシリアライズ、デシリアライズを置換え

Jacksonのラップ処理についてです。 SpringBootで何を実装していくかは、以下を参考にしているのですが、この5番目です。 Spring Bootをはじめる時にやるべき10のこと

Lombok STSへの適用

Spring Tool Suiteには、Lombokが適用されてはいないようです。 StarterProjectでgradleに指定されているため、アノテーションは問題無いです。 しかし、Contents Assistに表示されないのは非常に困ります。 そのため、STSのLombokを有効化します。

Spring Boot 6 DIコンテナ

前回の続きです。 DIですが、Autowiredで注入できる範囲についてです。

Spring Boot 5 AutowiredとDI

Dependency Injection(DI)の話です。 SpringBootではAutowiredとアノテーションを記述することで自動でDIを行えます。 ですが、まずDIって何?利点は何なのか?ということを説明していきたいと思います。

Spring Boot 4 AOPでLog出し

Webアプリケーションの開発と保守を行う場合、リクエストとレスポンスの詳細が出ている方が良いと考えています。 AOPを利用して、メソッドのinとoutを出力させていきます。

Spring Boot 3 続 環境設定

Spring Bootの環境設定を続けていきます。 中々Srcを書き始められません。

Spring Boot 2 プロジェクト実行

Gradle プロジェクトを指定して[Command + F5]でGradleをリフレッシュします。 dependencies に記載されたライブラリがDL, 設定されます。 Run [Run As] -> [Spring Boot App]で起動します。 内製のTomcatが起動します。 新規作成した状態では、起動しても何…

Spring Boot 1 開発環境構築

Java フレームワークの1つ SpringがまとめられているSpring Bootを使用して、WebApplicationを作っていきます。 Spring Boot