我正在尝试将 Playframework 应用程序从 2.4 迁移到 2.5.3,但我无法从application.conf
文件中获取值:
在从application.conf
我所做的获得价值之前是:
Play.application().configuration().getString("label")
现在不Play.application()
推荐使用,我应该使用依赖注入。根据框架文档,我使用以下说明:
- 定义导入:导入
javax.inject.*; import play.Configuration;
- 定义类属性:
@Inject private Configuration configuration;
- 在我的类上使用配置类属性
当我按照控制器上的这些说明操作时,Application.java
它运行良好:
但是当我尝试在项目中的其他类对象上使用它时,依赖注入不起作用,我总是得到一个NullPointerException
.
有人可以给我一个关于如何application.conf
使用依赖注入获取值的例子吗?
我尝试使用 DI 的 java 代码的某些部分:
import javax.inject.Inject;
import play.Configuration;
import play.Logger;
public class Zipper {
@Inject private Configuration configuration;
public void unZip(String zipFilePath) {
Logger.debug("Display : zipFilePath"+zipFilePath);
Logger.debug("before call parameter from application.conf");
Logger.debug("configuration.getString = "+configuration.getString("Unzipedfile.path"));
Logger.debug("aftercall parameter from application.conf");
}
}
而且我总是得到一个空指针异常,在与configuration.getString("Unzipedfile.path")