Google Guice初试之绑定1

Guice是google推出的一款轻量级DI框架

需要的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{

	@Override
	public 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{

	@Override
	public 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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值