Google Guice初试之绑定1
来源:互联网 发布:买家淘宝退货流程图 编辑:程序博客网 时间:2024/05/21 04:19
Guice是google推出的一款轻量级DI框架
(4)创建Client模拟测试
需要的jar有:
guice-3.0.jar
javax.inject.jar
所谓的绑定就是:将借口绑定到具体的实现类上,当我们通过接口这个引用来调用某个方法的时候,会动态的调用具体实现类的方法,这样客户端不用关系具体的实现逻辑。
(1)创建一个接口Hello.Java
/** * * @author Java_Le * @Date 2014-5-1下午09:38:50 * @ClassName Hello.java */public interface Hello {void sayHello() ;}
(2)创建这个接口具体的实现类/** * * @author Java_Le * @Date 2014-5-1下午10:03:51 * @ClassName HelloImpl.java */public class HelloImpl implements Hello{@Overridepublic void sayHello() {System.out.println("HelloImpl say hello");}}(3)创建guice框架中Module的实现类
package guice.binder;import com.google.inject.Binder;import com.google.inject.Module;import com.google.inject.Singleton;public class MyModule implements Module{@Overridepublic void configure(Binder binder) {//将借口hello.java 绑定到实现类HelloImpl.java上//Singleton:表示是scope是单列的,Guice中类的scope只有两类,单例,或者每次都是new的一个新的对象binder.bind(Hello.class).to(HelloImpl.class).in(Singleton.class) ;}}
(4)创建Client模拟测试
package guice.binder;import com.google.inject.Guice;import com.google.inject.Injector;public class Client {public static void main(String[] args) {Injector in = Guice.createInjector(new MyModule()) ;Hello hello = in.getInstance(Hello.class) ;//hello -->HelloImpl实例hello.sayHello() ;}}输出结果:
HelloImpl say hello
总结
本例子就是将Hello这个接口和实现类HelloImpl关联起来,当我们用Guice想去获得这个接口实例的时候,实际返回的是HelloImpl的实例(并且可以维护室单列,还是动态创建的)。 0 0
- Google Guice初试之绑定1
- Google Guice之绑定方式
- Google Guice 绑定2
- Google Guice Provider绑定
- Google Guice之Servlet
- Google Guice之牛刀小试
- Google Guice之AOP
- 初试Guice
- Google Guice入门教程1
- Google Guice 小试牛刀--1
- Google Guice之选项注入
- Google Guice之作用域
- Google Guice之注入方式
- Google Guice之作用域
- Google Guice 教程(1)
- Google Guice
- Google guice
- Google Guice
- C# 网络编程之通过豆瓣API获取书籍信息
- 技能冷却图标实现(实践篇-MeshFilter and Mesh)
- auto_ptr
- CentOS 6.5 LAMP分主机平台的搭建及测试
- 初识shell
- Google Guice初试之绑定1
- 加入CSDN
- I Think I Need a Houseboat
- 为什么你还一直在穷打工?
- Java swing 之 标签控件 和 图标控件的使用
- POJ 2823 Sliding Window (单调队列)
- JNI小结
- 符号释意字典
- 【NoisyHeart的炼成】Part5:Perlin噪声的HLSL实现