2012-02-20 80 views
1

我在GWT projet上成功使用GIN。現在我的RPC服務將需要來自其他層(業務邏輯 - >數據訪問)的數據,在過去我會用所需的方法完成單件服務。 喜歡的東西 MyGwtServiceImpl.getData() - > MyServerSideService.getData() - > MyDaoGetDataFromDB()使用GIN旁邊的GUICE

但現在單是不是真的讚賞,我想爲測試目的使用注射方法。

我知道所有我需要知道的是爲服務器端安裝GUICE,但我不確定應該在哪裏創建注入器。通常它會在主要方法中完成,但在這裏我使用GWT。

GIN和GUICE庫之間會有衝突嗎?

我應該在哪裏放置噴油器?在onModuleLoad?我不確定,因爲我的申請將分成幾個部分。

感謝您的幫助!


摘要:

  • 按照由托馬斯(答案)給出的教程
  • 但對於注射工作,不要忘記更換(刪除事實)的網頁.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> 
    
  • 通過一個吉斯模塊中:

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

回答

3

你想要在ServletContextListener創建您的注射器。看看http://code.google.com/p/google-guice/wiki/ServletModule

GIN(Guice for GWT,在客戶端)和Guice(在服務器端)之間絕對沒有衝突。

+0

感謝您指出。然而,我努力實現這一點,並使其工作。 – 2012-02-21 14:07:44