1

Jersey 2.0/HK2を使ってサンプルのRESTfulアプリを作ってみました。注入されるクラス@Service. しかし、これはしませんでした。

のインスタンスを登録するインスタンスを使用して、2 番目のコミット ( https://github.com/venkatramachandran/restful-sample-tomcat/commit/2ca30f )を作成しました。バインダーは基本的に、基本的に同じクラスであるmyをバインドします。org.glassfish.jersey.server.ResourceConfigorg.glassfish.hk2.utilities.binding.AbstractBinder@Contract@Service

私の質問は、HK2 が機能するためにバインダーは絶対に必要ですか? または、最初のコミットで構成を見逃したために、エラーが発生しましたorg.glassfish.hk2.api.UnsatisfiedDependencyExceptionか?

4

1 に答える 1

1

はい、HK2 がこのような標準で機能するには、何らかのバインディングを実行する必要があります@ServiceJersey 内でサービスをバインドする必要がないようにするには、この質問で概説されているように、サービスを提供するために外部 ServiceLocator へのブリッジを検討することをお勧めします。

そしてもちろん、@Contracts明らかに必須ではありませんが、通常はインターフェースになることがベストプラクティスです。

于 2015-07-23T17:42:28.653 に答える