如何使用Guice将属性文件中的属性注入到方法中?

时间:2016-07-21 15:53:45

标签: java dependency-injection guice

基本上我想将属性文件加载到单例中,然后使用Guice将这些属性动态注入任何需要它们的类或方法。

我的模块看起来像这样:

exports.index = function (req, res) {
    res.render('myapp', {});
};

然后在我的程序中,我想声明如下方法:

public class ConfigurationModule extends AbstractModule {
  @Override
  protected void configure() {
    try{
      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
      Properties properties = new Properties();

      properties.load(classLoader.getResourceAsStream("fileName.properties"));
      Names.bindProperties(binder(), properties);

    } catch(Exception e){
      e.printStackTrace();
    }
  }
}

public class TestClass { @Inject public void testMethod(@FooServerAddress String fooServerAddress){ //Do things } } 中的FooServerAddress = "blah"

现在我知道我可以通过像这样使用Guice实例化TestClass来实现这一点:

fileName.properties

但这对我不起作用,因为我想使用单身人士。同样这样做意味着每当我实例化一个我不能做的类时我必须使用Guice注入器,因为可以从我的范围之外调用某些方法。

那么有什么方法可以使用Guice自动将属性文件中的属性加载到方法中?

0 个答案:

没有答案