日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Google Guice范例解说之使用入门

發布時間:2024/4/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Google Guice范例解说之使用入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.cnblogs.com/xd502djj/archive/2012/06/25/2561414.html Google Guice范例解說之使用入門

http://code.google.com/p/google-guice/

Google公司的Bob lee開發的輕量級IoC容器,其特點是:

1、速度快,號稱是spring的100倍速度
2、無配置文件,實用JDK5.0的annotation描述組件依賴,簡單,而且有編譯器檢查和重構支持
3、簡單,代碼量很少

http://code.google.com/p/google-guice/wiki/SpringComparison

這是Google guice和spring IoC容器的對比

另外xwork2.0已經集成了Google guice容器了。

http://docs.google.com/Doc?id=dd2fhx4z_5df5hw8

這是Google guice的快速入門文檔,用起來挺簡單的。

Google Guice范例解說之使用入門
本文通過范例簡單地介紹Google Guice的使用,通過下面的范例我們可以知道,Google Guice的使用非常簡單。

  Google Guice需要使用JDK1.5以上java環境。

  下載Google Guice之后,

  有以下幾個文件:

  aopalliance.jar

  guice-1.0.jar

  guice-servlet-1.0.jar

  guice-spring-1.0.jar

  guice-struts2-plugin-1.0.jar

  本例只使用到guice-1.0.jar文件,將其加入到class path中。

  下面簡單地介紹范例:

  范例1:使用com.google.inject.Module接口實現類


文件名 說明

文件名說明
HelloGuice.java業務邏輯接口定義文件
HelloGuiceImpl.java業務邏輯接口實現文件
HelloGuiceModule.java該文件必須實現com.google.inject.Module接口
TestGuice.java測試文件


?


HelloGuice.java
  
package com.test.guice;
  
public interface HelloGuice {
  public void sayHello();
}
  
HelloGuiceImpl.java
  
package com.test.guice;
  
public class HelloGuiceImpl implements HelloGuice {
  
  public void sayHello() {
    System.out.println("Hello Guice!");
  }
}
  
HelloGuiceModule.java

package com.test.guice;
  
import com.google.inject.Binder;
import com.google.inject.Module;
  
public class HelloGuiceModule implements Module {
  
  public void configure(Binder binder) {
    binder.bind(HelloGuice.class).to(HelloGuiceImpl.class);
  }
  
}
  
TestGuice.java
package com.test.guice;
  
import junit.framework.TestCase;
  
import com.google.inject.Guice;
import com.google.inject.Injector;
  
public class TestGuice extends TestCase {
  public void testHelloGuice() {
    Injector injector = Guice.createInjector(new HelloGuiceModule());
    
    HelloGuice helloGuice = injector.getInstance(HelloGuice.class);
    helloGuice.sayHello();
  }
}

  運行TestGuice,打印出:

  Hello Guice!

  范例2:使用Java Annotation

  我們也可以直接為HelloGuice加上@ImplementedBy注釋,而省略掉對com.google.inject.Module的實現。

HelloGuice.java
package com.test.guice;
  
import com.google.inject.ImplementedBy;
  
@ImplementedBy(HelloGuiceImpl.class)
public interface HelloGuice {
  public void sayHello();
}
  
TestGuice.java 
package com.test.guice;
  
import junit.framework.TestCase;
  
import com.google.inject.Guice;
import com.google.inject.Injector;
  
public class TestGuice extends TestCase {
  public void testHelloGuice() {
    //Injector injector = Guice.createInjector(new HelloGuiceModule());
    
    Injector injector = Guice.createInjector();
    HelloGuice helloGuice = injector.getInstance(HelloGuice.class);
    helloGuice.sayHello();
  }
}

  HelloGuiceModule.java不再需要。其余的文件內容不變。

  運行TestGuice,打印出:

  Hello Guice!

?

?

摘自 :http://hi.baidu.com/changzhiwin/blog/item/1e8251861feb553466096e36.html?

?

?

1. 依賴注入

1.1 類依賴注入

所謂的綁定就是將一個接口綁定到具體的類中,這樣客戶端不用關心具體的實現,而只需要獲取相應的接口完成其服務即可。

HelloWorld.java

?

總結

以上是生活随笔為你收集整理的Google Guice范例解说之使用入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。