1

GWTプロジェクトでGINを正常に使用しています。これで、RPCサービスは他のレイヤー(ビジネスロジック->データアクセス)からのデータを必要とします。以前は、必要なメソッドを使用してシングルトンサービスを実行していました。MyGwtServiceImpl.getData()-> MyServerSideService.getData()-> MyDaoGetDataFromDB()のようなもの

しかし、最近はシングルトンはあまり評価されていないので、テスト目的で注入法を使用したいと思います。

知っておく必要があるのはサーバー側にGUICEをインストールすることだけですが、インジェクターの作成をどこで行うべきかはよくわかりません。通常はmainメソッドで実行されますが、ここではGWTを使用しています。

GINとGUICElibの間に競合はありますか?

インジェクターの作成はどこに置くべきですか?onModuleLoadで?私のアプリケーションはいくつかに分割されるので、よくわかりません。

助けてくれてありがとう!


概要 :

  • トーマスによって与えられたチュートリアルに従ってください(答え)
  • しかし、インジェクションが機能するためには、web.xmlで置き換える(実際には削除する)ことを忘れないでください:

    <servlet>
        <servlet-name>MyService</servlet-name>
        <servlet-class>com.myapp.MyServiceImpl</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyService</servlet-name>
        <url-pattern>/com.myapp/MyService</url-pattern>
    </servlet-mapping>
    
  • Guiceモジュールで:

     serve("/com.myapp/MyService").with(MyServiceImpl.class);
    
4

1 に答える 1

3

インジェクターをで作成する必要がありますServletContextListenerhttp://code.google.com/p/google-guice/wiki/ServletModuleをご覧ください

GIN(GutのGuice for GWT、クライアント側)とGuice(サーバー側)の間に競合はまったくありません。

于 2012-02-20T17:28:42.090 に答える