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范例解说之使用入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: google us web
- 下一篇: ActiveMQ 学习(VM Trans