前面一张介绍了通过Provider来绑定一些初始化比较复杂的对象,这一节介绍下常量的绑定方式:
下面我们来创建一个类演示下:(ConstantBinder)
package guice.binder;
import com.google.inject.Binder;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Module;
import com.google.inject.name.Named;
import com.google.inject.name.Names;
public class ConstantBinder {
@Inject
@Named("name")
private String name ;
public static void main(String[] args) {
Injector in = Guice.createInjector(new Module(){
@Override
public void configure(Binder binder) {
binder.bindConstant().annotatedWith(Names.named("name")).to("Zhang,San") ;
}
}) ;
ConstantBinder cb = in.getInstance(ConstantBinder.class) ;
System.out.println("My Name is:"+cb.name);
}
}
输出的结果是:
My Name is:Zhang,San
说明name属性已经注入进去了,除了注入String类型的常量还可以 byte,char,int ,long,double,boolean等