Guice 学习(七)常量和属性的注入( Constant and Property Inj

1、常量注入方式package import import import import import import /* * 绑定常量 */public class ConstantInjectDemo {@Inject@Named(“a”)private int a;public static void main(String[] args) {ConstantInjectDemo instance = Guice.createInjector(new Module() {@Overridepublic 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)

2、属性注入方式package import javaimport import import import import import /** * 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() {@Overridepublic 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 Inj

相关文章:

你感兴趣的文章:

标签云: