Spring Boot
Spring Boot にApollo Clientを導入しようとした際に、Apolloのバージョンがv2系とv3系があることがわかり、当初v3系にしようとしていたがうまくいかなかった uga-box.hatenablog.com 前提としてSpring Boot は2.5.12を使っていて、古いのは承知しているが今…
以前セットアップしたApollo Client でリクエスト時にヘッダーにAuth情報を含めたい uga-box.hatenablog.com 設定方法は以下に書かれている 10. Authenticate your queries - Apollo GraphQL Docs Kotlin用をJavaに読み替えて、以下のように書くけば良さそう…
Spring Boot でGraphQLで構築された外部のAPIを利用するため、GraphQLクライアントを用意する GraphQLクライアントには Apollo や Relay が思いつくが、RelayはどちらかというとReact特化でApolloのようにさまざまな言語で使えるようになっていないとのこと …
何気なく使っていた Spring Boot の AutoConfiguration をおさらいする https://docs.spring.io/spring-boot/docs/2.5.x/reference/html/using.html#using.auto-configuration AutoConfigurationとは自分でBean実装をしなくても、 jarの依存関係に基づいて S…
spring-bootでMyBatisを使っていて、MyBatisを利用する時だけ別のデータソースを利用したい場合にどうやるのかわかったのでメモ 元々1つのデータソースを利用する場合は以下のようにapplication.yamlでプロパティの定義をしていたのだが、 spring: datasour…
Spring BootでJSONでのリクエストを受け取れるようにしたい やり方は以下で、 @PostMapping(path = "/save", consumes = MediaType.APPLICATION_JSON_VALUE) HttpStatus save(@RequestBody RequestDto dto) { @PostMapping("/save")としていたところを、上記…
Javaのアプリケーションで非同期処理を実装して、パフォーマンスを向上したい この時@Asyncアノテーションを知ったので調べた @Asyncアノテーションは、JavaのSpring Bootフレームワークで非同期処理を実装する際に使用される これを使用すると、メソッドが…
カスタマイズしたJackson2ObjectMapperBuilderを介して、ObjectMapperを独自の設定にすることができた これでどこで使っても同じ設定になるわけだが、悲しいことにある外部APIのレスポンスだけ期待とは違うことに気づいた 具体的にはプロパティ名がLOWER_CAM…
ObjectMapperをカスタマイズするためにJackson2ObjectMapperBuilderを使う場合、以下の設定がデフォルトで無効になっている MapperFeature.DEFAULT_VIEW_INCLUSION DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES SerializationFeature.WRITE_DATES_AS_…
JacksonのObjectMapperをカスタマイズしたいのでやり方を調べた Bean登録して、@Primaryアノテーションをつける 一番シンプルな方法 @Bean @Primary public ObjectMapper objectMapper() { JavaTimeModule module = new JavaTimeModule(); module.addSeriali…
Spring BootのAutoConfigureでライブラリを作る際に、特定のライブラリがクラスパス上に存在する場合にBean定義した設定を適用するようにしたい AutoConfigureとは 3rdパーティライブラリなどに対して、ある設定をした上でSpring上で利用したい場合に、それ…
Springの以下のアノテーションの使い方がわからなかったので調べた @Configuration(proxyBeanMethods = false) これはBean Lite Modeと呼ばれるものらしく、CGLIB proxy を明示的に利用せずBean登録する設定らしい CGLIBとは、プログラムのコンパイル後にク…
Spring Boot 2.4.X にバージョンアップしたらビルド時にエラーが発生した 具体的には次のような構成で、 └── src ├── main │ └── resources │ ├── application.yml │ ├── application-development-include.yml │ ├── application-development.yml applicatio…
Spring Boot起動時に環境毎にapplication.propertiesを切り替える場合、コマンドライン引数を以下のようにしている java -jar spring-boot-application-properties-sample-1.0.0.jar --spring.profiles.active=dev1 これをjibで固めたコンテナの起動時に指定…
Domaを使ってSpring Boot アプリケーションからPostgresに接続する ドキュメントは以下 springboot-domamaster-maintenance-sample.readthedocs.io 手順はREADMEがわかりやすい github.com pomの設定は終えた上で Entityを作る package com.sample.doma; imp…
Cloud Tasksを使っていて、実行されたタスクにエラーが発生した場合は再実行キューにはいる設定にしている ただ、前回の実行した時のエラーが起こるまでの処理が再実行時には最初から始まってしまっていて、処理が重複してしまっているものがあった そこで、…
HikariCPというワードを目にしたので調べた 検索したら一番最初にでてきたので参考にした openstandia.jp HikariCP(ヒカリシーピー)は、高速かつ軽量なJDBCコネクションプールのライブラリです。現時点では、Javaで実装されたコネクションプールのライブラ…
Spring Bootの@ConfigurationPropertiesをうすくおさらい @ConfigurationPropertiesを使うとプロパティファイルで定義されたプロパティへ簡単にアクセスすることができる propertiesファイルを以下のように定義する user.firstName=John user.lastName=Doe u…
Spring Boot起動時に以下のエラーが発生してしまい、ハマったのでメモ postgres Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 結論 ライブラリーがクラスパスにないことが原因だっ…