java – 播放2.5.3:使用依赖注入来获取配置值
发布时间:2020-12-15 00:25:38 所属栏目:Java 来源:网络整理
导读:我试图将一个Playframework应用程序从2.4迁移到2.5.3,并且我有问题从application.conf文件获取值: 之前要从application.conf获取一个值我所做的是: Play.application().configuration().getString("label") 现在,由于Play.application()已被弃用,我应该使
我试图将一个Playframework应用程序从2.4迁移到2.5.3,并且我有问题从application.conf文件获取值:
之前要从application.conf获取一个值我所做的是: Play.application().configuration().getString("label") 现在,由于Play.application()已被弃用,我应该使用依赖注入.根据framework documentation我使用以下说明: >定义import:import javax.inject.*;导入play.Configuration; 当我按照我的控制器Application.java上的这些说明它是正常工作: 但是当我尝试从我的项目的另一个类对象使用它时,依赖注入不起作用,我总是得到一个NullPointerException. 有人可以给我一个关于如何使用依赖注入从application.conf获取值的示例? 我的java代码的一部分我试图用DI: 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"); } } 并且我总是得到一个空指针异常,在与configure.getString(“Unzipedfile.path”)的行上 解决方法
我认为你可以这样初始化配置:
private Configuration configuration = Play.current().injector().instanceOf(Configuration .class); 所以你的拉链将是: import javax.inject.Inject; import play.Configuration; import play.Logger; public class Zipper { private Configuration configuration = Play.current().injector().instanceOf(Configuration .class); 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"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读