サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC25
qiita.com/kazuki43zoo
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Spring BootでWebアプリケーションを作ろうとすると、「組み込みTomcat(サーブレットエンジン)」×「Spring MVC」の組み合わせでアプリケーションを作る事も多いと思います。その際に・・・自分が思っている通りに動かない時皆さんはどうしているでしょうか? Spring BootやSpring MVCに詳しい方はフレームワークのクラスに適当にブレークポイントを指定して、どこまで処理が想定通りに動いているか確認する!!という強者も中にはいるかも!?しれませんが・・・Spring Boot(Spring MVC)初心者の方は、何が起きているのかわからず・・・エラー解析に多くの(無駄な)時間をかけてしまうことがあるのではないかと思います。 どうすればよい? エラーの内容によって対処は変わりますが、ここでは・・・アプリケーション自体は起動したけど、自前で用意したController
今参画している案件でMySQL、Kafka、Cloud Pub/Sub、AWS SQS/SNSあたりを使ったアプリケーションを作成することになりそうなので・・・Testcontainersを利用してSpring Bootアプリケーションのテストをしようかな〜と考えています。今回はすご〜く簡単なデモアプリケーションを作ってみました。 今参画している案件では使わないけど・・・ PostgreSQL MockServer(擬似HTTP Server) を使ってテストするデモアプリケーションも作ってみました。 利用するもの Spring Boot 2.4.5 Testcontainers 1.15.3 JUnit 5 Docker MySQL in Docker PostgreSQL in Docker Apache Kafka in Docker Cloud Pub/Sub Emulator i
Spring Boot Actuatorには、インスタンス自体やインスタンス内で依存している外部リソース(ディスク、DB、メッセージングサービス、キャッシュサービスなど)の稼動状態(ヘルスチェック結果)を提供するエンドポイント(/actuator/health, /actuator/health/{name})があり、独自のヘルスチェック状態を提供することもできます。 独自のヘルスチェック処理を自動登録する方法 Spring Bootのリファレンスにサンプルコード付きで紹介されていますが、HealthIndicatorインタフェースを実装したクラスをDIコンテナに登録すると、Spring Boot Actuatorが自動で検出してくれます。 @Component // コンポーネントスキャンでDIコンテナに登録 public class MyHealthIndicator implemen
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 本エントリでは、SpringのDIコンテナがどんな感じで動作(オブジェクトの生成、依存オブジェクトの解決)しているのか?あたりを(ざっくり)紹介してみようかと思います。本エントリでは基本的には「DI」について知っている前提で記載するので、そもそも「DI」って何者?という方は、ネットや書籍などで「DI」について調べてみてください。 なお、本エントリの中で紹介するイラストの内容は、(正確性を求めると本エントリで紹介したいことの本質が損なわれる可能性があると判断し・・・)Springが行なっている実際の処理とは異なる部分があることをご了承頂き
2019年7月15日にリリースした2.1の変更点をまとめました。 この変更では、既にEOLを迎えているSpring Boot 2.0.xへのサポートがなくなり、Spring Boot 2.1以上が必要になります。 なお、 mybatis-spring-boot-starterの使い方については、こちら(バージョン2.1対応済) mybatis-spring-boot-starter 1.3から2.0の変更点については、こちら mybatis-spring-boot-starter 1.2から1.3の変更点については、こちら mybatis-spring-boot-starter 1.1から1.2の変更点については、こちら mybatis-spring-boot-starter 1.0から1.1の変更点については、こちら も必要に応じて合わせてご覧下さい。 NOTE: ちなみに、mybati
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2018年最初のエントリーは・・・@sndr さんの「Spring Data JDBC Preview」を見て「へ~」と思ったSpring Data JDBCを試した際のメモです。まだ単純なCRUDレベルのサポートだけのようですが、Spring Data JDBCが正式にリリースされてSpring Data RESTのサポート対象になることを(非常に)期待しています! ↓ 2018/9/21に正式リリースされたので、内容を1.0.0.RELEASEベースに修正しました! 検証バージョン Spring Data JDBC 1.0.0.RE
今回は、実際のアプリケーション開発を意識して、Spring Seucirtyが提供しているデフォルト動作をカスタマイズする方法をいくつか紹介していきたいと思います。 シリーズ 第1回:Spring Security 5でサポートされるOAuth 2.0 LoginをSpring Bootで使ってみる 第2回:Spring Security 5でサポートされるOAuth 2.0 Loginの処理の流れを(大まかに)理解する 第3回:Spring Security 5でサポートされたOAuth 2.0 Loginの処理の流れを(深く)理解する 動作検証バージョン Spring Boot 2.0.0.M7 Spring Security 5.0.0.RELESAE カスタマイズポイント 本エントリで紹介するカスタマイズポイントは以下の5つです。本エントリで紹介するのは、Spring Securi
Spring Security 5の目玉であるOAuth 2.0(& OpenID Connect 1.0)の認可サーバと連携したログイン機能を、Spring Boot上で使う方法を紹介します。(今回はSpring Boot上で使う方法の紹介だけにとどめます→仕組みの話は乞うご期待!!) 動作検証バージョン Spring Boot 2.0.0.M7 Spring Security 5.0.0.RELEASE Tomcat 8.5.23 NOTE: 2017/12/2 : Spring Boot 2.0.0.M7 (Spring Security 5.0.0.RELEASE)ベースに書き換えました。 OAuthプロバイダ GitHub Note: ちなみに・・・Spring Securityは、GitHubの他に、Google、Facebook、Oktaをデフォルトでサポートしています。 デ
public class Todo { private String title; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } package com.example; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.Test; import java.io.IOException; import java.util.Arrays; import java.util.List; public class ObjectMapperJso
今回は今更ながら・・・・Spring Boot 1.4(Spring 4.3)上でMyBatis 2(iBatisといった方が馴染みがあるかな?)を使う方法を紹介します。なぜ今頃MyBatis 2の話やねん?と思う方がほとんどだと思いますが、このエントリーを書こうと思った動機は・・・Spring 3系がついに今年の12月(あと半月・・・)でEOLになるためです。 MyBatis 2とSpringの関係 Springは3系まではMyBatis 2との連携コンポーネントを提供していましたが、Spring 4系から華麗にDropされています。そのため、MyBatis 2を使っているアプリケーション(レガシーなアーキテクチャで作られているアプリ)はSpring 4にバージョンアップすることができませんでした。これまでは脆弱性など重要なバグが見つかればSpring 3系にもフィードバックされていまし
package com.example.demo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.stereotype.Repository; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import java.util.concurr
今回は「Spring Framework 5.0 主な変更点」シリーズの第4回で、WebMVC関連の主な変更点(新機能や改善点など)を紹介していきたいと思います。 シリーズ 第1回: Spring Framework 5.0 主な変更点の概要 第2回: Spring Framework 5.0 コア機能の主な変更点 第3回: Spring Framework 5.0 DIコンテナ関連の主な変更点 第4回: Spring Framework 5.0 WebMVC関連の主な変更点 第5回: Spring Framework 5.0 Test関連の主な変更点 第6回: Spring Framework 5.0 WebFlux(Reactive Web Framework) (予定) 第7回: Spring Framework 5.0 Kotlinサポート (予定) 動作検証バージョン ベースライ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 今回から数回(全7回を予定)にわけて、2017/7月リリース予定で2017/5/8にRC1がリリースされたSpring Framework 5.0の主な変更点(新機能や改善点など)を紹介していきたいと思います。 本エントリーは「New Features and Enhancements in Spring Framework 5.0」で紹介されている内容を、サンプルコードなどを交えて具体的に説明していく予定です。(逆にいうと、「New Features and Enhancements in Spring Framework 5.0」に
2017年4月10日のリリースされた1.3の変更点をまとめました。 なお、 mybatis-spring-boot-starterの使い方については、こちら(バージョン1.3対応済) mybatis-spring-boot-starter 1.1から1.2の変更点については、こちら mybatis-spring-boot-starter 1.0から1.1の変更点については、こちら をご覧下さい。 Note: 2017/8/21: 追記 バージョン1.3.1の変更点を追加しました。 2019/5/7: 追記 バージョン1.3.2, 1.3.3, 1.3.4の変更点を反映しました。 依存ライブラリの必須バージョン バージョン1.3を使う場合は、以下のバージョンが必須になります。 MyBatis 3.4+ Mybatis-Spring 1.3+ Spring Boot 1.5+ Spring B
今回は、「Spring Security OAuthで認可コードグラントフローを体感しよう」の第二回で、ま〜とりあえずSpring Security OAuth + Spring Bootを使用して認可コードグラントフローでREST APIの認証・認可を行うアプリ作ってみることにします。 第1回:OAuth 2.0のおさらい編 アプリケーションの機能要件 今回作成するアプリケーションの機能要件は・・・ Service Provider Service Providerは、ユーザ単位でタスク情報(タイトル、詳細、期限日、完了フラグ、登録日時、更新日時)の管理(登録・更新・削除・参照)を行うREST APIを提供し、REST APIへのアクセスは、OAuth 2.0の認可コードグラントフローで発行したアクセストークンを使用して認証・認可を行う。 という要件にします。 本来であればService
今回は、JDK 8で追加された「-parameters」コンパイルオプションを、Maven(Maven Compiler Plugin)、IntelliJ IDEA, Spring Tool Suite(=Eclipse)で指定する方法を紹介します。 動作環境 Maven $ ./mvnw -v Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00) Maven home: /Users/xxx/.m2/wrapper/dists/apache-maven-3.3.9-bin/2609u9g41na2l7ogackmif6fj2/apache-maven-3.3.9 Java version: 1.8.0_121, vendor: Oracle Corporation
今回から数回(たぶん3〜5回位)にわけて、Spring Security OAuth(+Spring Boot)を利用してOAuth 2.0の認可コードグラントフローを利用したREST APIの認証・認可を実現する方法を説明します。といいつつ・・・わたしもOAuth 2.0に詳しいわけではないので・・・間違った説明があるかもしれません(悪しからず・・・) 間違った説明があったら是非コメント(修正リクエスト)をお願いします!! で、第1回の今回は・・・OAuth 2.0ってなんだっけ(=おさらい)をざっくり説明していきたいと思います。ちなみに・・・今回はSpring Security OAuthとSpring Bootの話はないで〜す 第2回:とりあえずアプリを作る編 OAuth 2.0ってなんだっけ? まず、簡単にOAuth 2.0のおさらいをしておきましょう。 OAuth 2.0は、「サ
今回は、Springが提供しているAbstractRoutingDataSource + Spring AOPを利用して、アプリケーションレイヤでシャーディングっぽいことを実現する方法を紹介します。 シャーディングはデータを複数のサーバに(透過的に?)分散させる機能のことで、負荷分散による性能向上やリソース分散によるコストパフォーマンス向上などを目的に使います。本エントリーではアプリケーションレイヤでシャーディングっぽいことを実現する方法を紹介しますが、RDBMS、NoSQL、KVSなど自体にシャーディング機能をもっていることも多いため、まずはインフラストラクチャレイヤでシャーディングを実現する方法を検討する方がよいと思います!! 動作検証バージョン Spring Boot 1.5.1.RELEASE Spring Framework 4.3.6.RELEASE H2 Database 1
先ほど「SpringのDBコネクションの共有方法(DBトランザクション)を理解する」を投稿しましたが、3rdパーティ製のDBアクセスライブラリ(Domaとか)やオレオレJDBCフレームワークをSpringのトランザクション管理下で実行する方法も紹介しておきましょう。 動作検証バージョン Spring Boot 1.5.1.RELEASE Spring Framework 4.3.6.RELEASE オレオレDBアクセス機能を使ったSQLの実行 まず、DataSourceから取得したConnectionを使ってSQLを実行するオレオレDBアクセス機能を実装します。 package com.example; import java.sql.*; import java.util.LinkedHashMap; import java.util.Map; import java.util.Prop
直近の5年間・・・Spring Frameworkにどっぷり浸かった生活をしていたのですが、先日ソースコードレビューをしている時に初めて@AutowiredにBy Nameによるfallbackの仕組みがあったことを知りました・・・ Note: @Autowiredは、By Type(型の一致)によってインジェクション対象のBeanを解決することを指示するためのアノテーションで、同じ型のBeanが複数存在すると、どのBeanをインジェクションしてよいか判断できずエラーになります(@Primary、@Order、@Priorityが付与されたBeanがいると、そいつがインジェクションされる仕組みはありますが・・・)。 上記の説明は概ね間違ってはいないのですが、インジェクション候補が複数見つかった場合に、インジェクションするBeanをBy Nameで絞り込む仕組みがあったのです・・・・(いや〜
次のページ
このページを最初にブックマークしてみませんか?
『@kazuki43zooのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く