Google Guice 绑定2
来源:互联网 发布:淘宝点赞怎样赚钱 编辑:程序博客网 时间:2024/06/14 00:39
上一章简单介绍了,如何使用Guice框架来完成接口(父类)和具体的实现类(子类)之间的关联。通过MyModule中:
binder.bind(Hello.class).to(HelloImpl.class).in(Singleton.class) ;
来实现关联关系,这节介绍通过注解来实现关联关系
(1)首先还是Hello.java接口(注意类头上的注解,描述了这个接口要绑定的实现类)
package guice.binder;import com.google.inject.ImplementedBy;/** * * @author Java_Le * @Date 2014-5-1下午09:38:50 * @ClassName Hello.java */@ImplementedBy(HelloImpl.class)public interface Hello {void sayHello() ;}(2)Hello.java这个接口的具体实现类:HelloImpl.java(类头上的注解,这类是单列还是动态创建)
package guice.binder;import com.google.inject.Singleton;/** * * @author Java_Le * @Date 2014-5-1下午10:03:51 * @ClassName HelloImpl.java */@Singletonpublic class HelloImpl implements Hello{@Overridepublic void sayHello() {System.out.println("HelloImpl say hello");}}(3)我们的MyModule实现类(具体的绑定关系被注释了)
package guice.binder;import com.google.inject.Binder;import com.google.inject.Module;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
输出的结果依然还是HelloImpl say hello,其实,Guice框架不仅可以维护接口和具体的实现类之间的绑定关系,还可以维护父类和之类之间的绑定关系,同样的你完全可以把类的创建交给Guice框架去管理(免去了手动new的过程)。
0 0
- Google Guice 绑定2
- Google Guice Provider绑定
- Google Guice之绑定方式
- Google Guice入门教程2
- Google Guice初试之绑定1
- Google Guice
- Google guice
- Google Guice
- Google Guice 入门教程02 - 依赖注入(2)
- Google Guice 依赖注入方式--2
- Guice Provider绑定
- Google Guice入门教程1
- Google Guice入门教程3
- Google Guice入门教程4
- Google Guice入门教程5
- Google-Guice入门介绍
- Google - Guice 入门介绍
- Google Guice 简介
- HDU1245Saving James Bond (Floyd 算法求最短路)
- WPF窗口像素相关
- Android调用C#的WebService
- uva 12299 线段树 点相关的操作模板
- 对OAuth1.0协议的理解
- Google Guice 绑定2
- HTML 命令大全
- The second time:数据结构作业 _ 栈 ( 链栈 )
- 京藏高速
- 并查集的总结
- android中ListView圆角
- 设计模式学习--------9.生成器模式学习
- HDU1001
- getline