Google Guice范例解说之使用入门
来源:互联网 发布:中华魔力迅白牙膏知乎 编辑:程序博客网 时间:2024/06/03 19:38
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
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 Guice使用入门
- Google Guice 入门使用
- Google Guice使用入门(转)
- Google-Guice入门介绍
- Google - Guice 入门介绍
- Google-Guice入门介绍
- Google-Guice入门介绍
- Google-Guice入门介绍
- Google-Guice入门介绍
- Google-Guice入门介绍
- Google Guice之Servlet
- Google Guice之牛刀小试
- Google Guice之AOP
- google guice使用
- google的guice入门详解
- Google Guice之选项注入
- Google Guice之绑定方式
- JDBC驱动
- Qc FB驱动 以及 LCD调试过程
- 如何获得64位 Jet Driver
- vector的内存释放
- hdu 3401 单调队列优化+dp
- Google Guice范例解说之使用入门
- 科学计算:Python VS. MATLAB(4)----图形系统简介
- Git/Github使用方法小记
- 资源监听与访问
- 贪吃蛇 小成
- PBRT阅读:第八章 胶片和图象管线 第8.4-8.5节
- 排序算法总结(1)——插入排序
- FLZYY数据库意外宕机恢复记录 ORA-00600 [kddummy_blkchk]
- 【特别推荐】32套精美的免费 PSD 网页界面设计素材