标签:guice constant property inject
package com.guice.ConstantInjectDemo;
import com.google.inject.Binder;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Module;
import com.google.inject.name.Named;
import com.google.inject.name.Names;
/*
* 绑定常量
*/
public class ConstantInjectDemo {
@Inject
@Named("a")
private int a;
public static void main(String[] args) {
ConstantInjectDemo instance = Guice.createInjector(new Module() {
@Override
public void configure(Binder binder) {
// 将数值22绑定到常量值a上
binder.bindConstant().annotatedWith(Names.named("a")).to(22);
}
}).getInstance(ConstantInjectDemo.class);
System.out.println(instance.a);// 22
}
}
除了可以绑定int外,在ConstantBindingBuilder类中还可以绑定其它的基本类型。
com.google.inject.binder.ConstantBindingBuilder.to(String)
com.google.inject.binder.ConstantBindingBuilder.to(long)
com.google.inject.binder.ConstantBindingBuilder.to(boolean)
com.google.inject.binder.ConstantBindingBuilder.to(double)
com.google.inject.binder.ConstantBindingBuilder.to(float)
com.google.inject.binder.ConstantBindingBuilder.to(short)
com.google.inject.binder.ConstantBindingBuilder.to(char)
package com.guice.ConstantInjectDemo;
import java.util.Properties;
import com.google.inject.Binder;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Module;
import com.google.inject.name.Named;
import com.google.inject.name.Names;
/**
* TODO : 绑定Properties 除了可以绑定基本类型外,还可以绑定一个Properties到Guice中,当然了,由于Properties本质上时一个Map<String,String>, 因此Guice也允许绑定一个Map<String,String>。
*
* @author E468380
*/
public class PropertiesInjectDemo {
@Inject
@Named("csdn")
private String csdn;
public static void main(String[] args) {
PropertiesInjectDemo instance = Guice.createInjector(new Module() {
@Override
public void configure(Binder binder) {
Properties properties = new Properties();
properties.setProperty("csdn", "www.csdn.com");
Names.bindProperties(binder, properties);
}
}).getInstance(PropertiesInjectDemo.class);
System.out.println(instance.csdn);
}
}
Guice 学习(七)常量和属性的注入( Constant and Property Inject)
标签:guice constant property inject
原文地址:http://blog.csdn.net/u010834071/article/details/46708105