技術メモ

問題

SessionScopedやRequestScopedは非常に便利なのだが、それらを使ったコードをユニットテスト対象にできない。ユニットテスト上では、これらのスコープが存在しないからだ。以下のようなエラーが発生する。

1) ...

技術メモ

SessionScoped、RequestScopedは便利な機能なのだが、うっかりこれをSingletonの中で使ってしまい。気が付かないことがある。これは厄介なバグの原因になりうる。サーブレットでもこれが発生しうる。

問題の ...

技術メモ

Guiceの@RequestScopedは非常に便利な機能で、同じ一つのリクエスト内であれば、どこでインジェクトしても同じオブジェクトが返される。この機能を利用してDBのコネクションプールをハンドリングできないかと考えた。

技術メモ

Guiceの@SesshonScopedを使うと、「セッション」ごとに同一のデータを保持することができる。

セッションとは?

前提としてこのときの「セッション」というのは、いわゆるHttpSessionであり、つまりサーブレ ...

技術メモ

Guiceモジュールにはインジェクトできない。

Guiceのモジュールでは、そのconfigure内にバインディングを指定するようになっているのだが、この時点ではインジェクタが作成されていないために、何のオブジェクトもインジェクトできな ...

技術メモ

ゴール

JerseyはHK2というDIフレームワークを使用しており、これは除去することはできない。一方で、使い慣れたGuiceを使いたい。なんとかJersey(JAX-RS)配下のオブジェクトにもGuice管理の依存性注入ができないもの ...

技術メモ

問題

Guice 4.2.2で以下のエラーが発生。AdoptOpenJDK12上だ。

もちろんこれは、Java9モジュールシステムの制限をGuiceが越えようとしているからだ。簡単な方策としては、モジュールの使用をやめること ...

技術メモ

Dagger2がわからない

Guiceを長年使っているのだが、改めてDIライブラリまわりの状況がどうなっているのかを知りたいと調べてみると、Dagger2というのが見つかったのだが。。。しかし、これは使えない。使い方がわからない。さんざ ...

技術メモ

問題点

Guiceにて以下のようなエラーが発生した。

foo.bar.dispatch.rpc.shared.ServiceException: Guice configuration errors:1) Unable to cr ...

技術メモ

あるインジェクタの設定をすべて継承してそれを拡張する「子インジェクタ」というものを作成することができる。

基本的な使い方public class ChildOne { public interface A {} public s ...