Tagbangers Blog

Spring

Spring Data JDBC 101

Spring Data JDBC タグバンガーズでは Spring Data JPA をデータベースアクセスに使用することが多いのですが、 今回は「シンプルに!」がコンセプトの Spring Data JDBC に触れて見たいと思います。 リリースされてから結構経ってしまいましたが早速いってみよう。 シンプル JPA は便利で高機能です。それが故に複雑になりがちです。 複雑さを生むのは以下のような要素があるからだと言われます。 遅延ロード エンティティのプロキシ セッション / 1st レベルキャッシュ エンティティの監視 こんなに機能必要ない。そんなときは Spring Data JDBC ...

Spring Java Format を使って Springスタイルでコードフォーマット+チェックする

Springのコードを書き、PRを出すタイミングで不要なスペースや改行してないなどといったコードフォーマットのチェックを行いたい時に、 Spring Java formatを利用する機会があったので紹介します。 Spring Java Formatとは Spring本家から出ている、一貫したSpringスタイルを提供するために任意のJavaプロジェクトに適用できるプラグイン 詳細はGithubにて できること: 折り返しと空白の規約を適用するソースフォーマッタ コードベース全体の一貫性を強化する(チェックスタイル) シンプルで、準備もpomに書いて実行するだけなのでとても簡単ですが、 自社のス...

Spring Cloud Contract の Pact 対応

先日行われた Spring Fest 2018 で「Spring Data REST と Spring Cloud Contract」というタイトルで登壇させていただきました。 デモがあればわかりやすかった、というご意見をいただきましたので、ちょっとしたサンプルコードを公開しました。 話のもとになっているスライドはこちらです。 https://www.slideshare.net/OgawaTakeshi/spring-datarestandspringcloudcontract 今回のサンプルコードは Angular で作られたフロントエンドアプリが Consumer として Pact を生...

The temporary upload location [/tmp/tomcat.***] is not valid

Spring Boot のアプリでファイルアップロードの機能が突然以下のようなエラーで機能しなくなるようなことがありました。 java.io.IOException: The temporary upload location [/tmp/tomcat.4973725229945795147.5000/work/Tomcat/localhost/ROOT] is not valid 原因は以下。 https://github.com/spring-projects/spring-boot/issues/5009 https://github.com/spring-projects/spring...

Spring I/O 2018 Day2 Slides

Spring Boot 2.0 Web Applications by Stéphane Nicoll / Brian Clozel Time to graph up with Spring Data Neo4j by Gerrit Meier Documenting RESTful APIs with Spring REST Docs and RAML by Mathias Düsterhöft Monitor Your Spring Boot Application with Logs, Metrics, Pings, and Traces [Workshop] by Philipp Kr...

Spring I/O 2018 Day1 Slides

Spring I/O 2018 がバルセロナにて、5月24日 - 25日の間で行われています。 去年もチケットが即日完売となる盛況ぷりでしたが、今年は1,000人以上、46ヶ国から参加、50人以上のスピーカーによる多彩なセッションという去年の倍以上の規模感で盛り上がっています! 今年はロゴが心臓 corazón の形ですよ。Spring keeps me alive!  気になる方は #springio18 で検索! 取り急ぎ Day1 のセッションのスライドをまとめてみました。現時点で集められたものだけなので、資料見つけ次第追加していきます。 Keynote - Thinking back,...

Spring I/O 2017 Day 2 の概要

Spring I/O 2017 の2日目の予定。ちょっと前に公演時間も公開されましたので、1日目も変更しております。 原文はこちらにございます。 Reactive Spring by Josh Long (龙之春) and Mark Heckler 9:00am to 9:50am Demo: https://github.com/joshlong/flux-flix-service Spring 5がすぐそこまで来ています! このリリースで最もエキサイティングな紹介の1つに、メッセージドリブンで拡張性があり、レジリエントで応答性の高いサービスをサポートするPivotalのProject Re...

Thymeleafでpomのversionを利用する

お久しぶりです。奥村です。 GWを明日に控えたこのタイミングで連休ボケする前に小ネタを1つ投稿しておきます。 pomのversion値を利用して、各バージョンごとでcssファイルなどのキャッシュをリセットさせたい!っといった要望があった際に利用する小ネタです。 pom.xml     4.0.0     com.example     sample     1.0.0.RELEASE application.properties pom.version=@project.version@ index.html 1.0.0.RELEASE -1138007634 ...

Spring I/O 2017 Day 1 の概要

さてSpring I/O 2017が来月5月18, 19日にバルセロナで開催されます。 場所も昨年と同じ会場なため4ルームくらいになりそうです。 今年も多くのセッションがあり、並行して講義が始まるため 少しでも前知識をつけておくべく、概要をGoogle先生に翻訳していただきました。 日本語的にわからない点だけちょっと調整してみましたが、 原文はこちらでございますのでご確認ください。 4.29更新:スケジュールに変更点がありましたので修正しました。Day 2 はこちら KEYNOTE - The Only Constant Is Change by Andy Wilkinson, Stéphan...

Spring Boot CLI をインストールする (Homebrew)

Spring Boot CLI をインストールする。 $ brew tap pivotal/tap $ brew install springboot これだけ。Homebrew を使うとほんと簡単でいいですね。 あとはサブコマンドのタブ補完がつかえるように bash-completion をインストールしておく。 $ brew install bash-completion インストール後、~/.bash_profile に以下を追記する。 if [ -f $(brew --prefix)/etc/bash_completion ]; then     . $(brew --prefix...