如何仅使用JDK注入属性文件?

时间:2013-11-18 16:41:28

标签: java inversion-of-control java-7

这是我的班级:

public class Foo {
   private static Properties conf;
}

如果我手动加载conf,我可以这样做(为了清楚起见,省略了错误处理代码):

public class Foo {
   private static Properties conf;

   static {
      InputStream is =... // Get the properties file as Stream from classpath

      conf = new Properties();
      conf.load(is);

      // ...
   }
}

现在,我想删除所有这些垃圾:

public class Foo {
   @javax.annotation.Resource(name="my-file-on-classpath.properties")
   private static Properties conf;
}

我知道我可以用 Spring 或类似的东西来做。

但是,是否可以通过使用JDK

来实现此目的

1 个答案:

答案 0 :(得分:0)

CDI的使用需要CDI容器。这不包含在JavaSE中。例如,你必须使用另外一个像Spring。它在JavaEE 6中定义。