第36章 Guice 1.0 の統合


RESTEasy は Guice 1.0 との基本的な統合を実現できます。 RESTEasy は、 @Path@Provider アノテーションに対する Guice モジュールのバインディングタイプをスキャンし、 これらのバインディングを登録します。 RESTEasy の examples/ ディレクトリにある guice-hello プロジェクトにこの良い例があります。
@Path("hello")
public class HelloResource
{
   @GET
   @Path("{name}")
   public String hello(@PathParam("name") final String name) {
      return "Hello " + name;
   }
}
Copy to Clipboard Toggle word wrap
最初に、 JAX-RS リソースクラスを指定します。 この例では HelloResource です。 次にバインディングを定義する Guice モジュールクラスを作成します。
import com.google.inject.Module;
import com.google.inject.Binder;

public class HelloModule implements Module
{
    public void configure(final Binder binder)
    {
       binder.bind(HelloResource.class);
    }
}
Copy to Clipboard Toggle word wrap
これらのクラスを WAR WEB-INF/classes 内に置くか、 WEB-INF/lib 内の JAR に置きます。 次に web.xml ファイルを作成します。 次のように GuiceResteasyBootstrapServletContextListener を使用する必要があります。
<web-app>
    <display-name>Guice Hello</display-name>

    <context-param>
      <param-name>
        resteasy.guice.modules
      </param-name>
      <param-value>
        org.jboss.resteasy.examples.guice.hello.HelloModule
      </param-value>
    </context-param>

    <listener>
      <listener-class>
        org.jboss.resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener
      </listener-class>
    </listener>

    <servlet>
        <servlet-name>Resteasy</servlet-name>
        <servlet-class>
            org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

</web-app>
Copy to Clipboard Toggle word wrap
GuiceResteasyBootstrapServletContextListenerResteasyBootstrap のサブクラスであるため、 web.xml ファイル内に別の RESTEasy 設定オプションを使用することができます。 resteasy.guice.modules コンテキストパラメータを見てください。 このパラメータには Guice モジュールであるクラス名のコンマ区切りリストを使用することができます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat