小编mar*_*ira的帖子

播放2.5.3:使用依赖注入来获取配置值

我正在尝试将Playframework应用程序从2.4迁移到2.5.3并且我从application.conf文件中获取值时遇到问题:

之前application.conf我的工作中得到的价值是:

Play.application().configuration().getString("label")
Run Code Online (Sandbox Code Playgroud)

现在,作为Play.application()已过时,我应该使用依赖注入.根据框架文档,我使用以下说明:

  1. 定义导入:导入javax.inject.*; import play.Configuration;
  2. 定义类属性:@Inject private Configuration configuration;
  3. 在我的类上使用配置类属性

当我在控制器上按照这些说明操作时,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");
    }
}
Run Code Online (Sandbox Code Playgroud)

我总是得到一个空指针异常,在行 configuration.getString("Unzipedfile.path")

java dependency-injection playframework playframework-2.5

11
推荐指数
2
解决办法
8987
查看次数

Thread-Safe在java中的含义是什么?我们什么时候称为Thread-Safe?

我不是以任何方式理解这个概念.

public class SomeName {

     public static void main(String args[]) {

     }

}
Run Code Online (Sandbox Code Playgroud)

这是我的类SomeName.现在这里的主题是什么.

  1. 我们将该类称为线程.
  2. 当其他一些对象试图访问其方法或成员时,我们将此类称为线程吗?
  3. 当其他一些对象试图访问此对象时,我们将此类称为线程吗?
  4. 当我们在java中调用某些东西是线程安全的时候意味着什么?

java

9
推荐指数
1
解决办法
1万
查看次数

在eclipse中安装node.js模块

我正在尝试在eclipse环境中使用node.js和socket.io开发一个聊天应用程序.我在eclipse中安装了node.js,但我不知道如何安装诸如expresss,socket io等节点模块.

请有人告诉我如何在日食环境中设置节点模块.

eclipse node.js socket.io node-modules

9
推荐指数
2
解决办法
4万
查看次数

Concat在Java中使用两个ByteBuffers

如何将两个ByteBuffers连接到一个ByteBuffer?

以下不起作用:

    ByteBuffer bb = ByteBuffer.allocate(100);
    ByteBuffer bb2 = ByteBuffer.allocate(200);
    bb.allocate(200).put(bb2);
    System.out.println(bb.array().length);
Run Code Online (Sandbox Code Playgroud)

长度bb仍然是100.

java bytebuffer

9
推荐指数
1
解决办法
1万
查看次数

如何获得PySpark中的工作人员(执行者)数量?

我需要使用这个参数,那么我怎样才能得到工人的数量?像Scala一样,我可以打电话sc.getExecutorMemoryStatus来获得可用的工人数量.但在PySpark中,似乎没有公开API获取此数字.

scala apache-spark pyspark

9
推荐指数
1
解决办法
2万
查看次数

为什么在play框架中有build.gradle和build.sbt?

我开始用scala开发一个web应用程序.我不明白的是为什么我们有一个build.gradle文件和一个build.sbt文件.两个文件中都定义了依赖项.

我应该在哪种情况下使用哪一个?

scala gradle sbt playframework

9
推荐指数
1
解决办法
1446
查看次数

你如何处理不同的Java IDE和svn?

您如何确保可以将代码签入Eclipse或NetBeans并在其中使用它?

编辑:如果您没有签入与ide相关的文件,则每次签出项目时都必须重新配置buildpath,includes和所有这些内容.我不知道,如果ant(特别是从eclipse创建/导出的ant构建文件)将无缝地与其他ide一起使用.

java eclipse svn ide collaboration

8
推荐指数
2
解决办法
2419
查看次数

Emacs dired使用相同的缓冲区

我使用以下代码.emacs:

(require 'dired+)
(toggle-diredp-find-file-reuse-dir 1)
Run Code Online (Sandbox Code Playgroud)

所以它不会为我访问的每个目录创建一个缓冲区.然后我决定添加一些人体工程学:

(add-hook 'dired-mode-hook
          (lambda ()
            (define-key dired-mode-map (kbd "C-<up>") 'dired-up-directory)))
Run Code Online (Sandbox Code Playgroud)

所以当我点击Ctrl-<up>它时会移动到父目录.但它在新缓冲区中打开父目录.

如何在同一个缓冲区中打开它?

emacs dired

8
推荐指数
1
解决办法
1293
查看次数

如何在不使用eval或构造函数的情况下在JavaScript中编写算术表达式解析器?

给定一个字符串:

 var str1 = "25*5+5*7";
Run Code Online (Sandbox Code Playgroud)

如果不使用evalJavaScript中的构造函数,我怎样才能编写一个名为"output"的函数,该函数接收字符串并输出字符串的算术值,在本例中为160?

javascript parsing recursive-descent abstract-syntax-tree

7
推荐指数
2
解决办法
5152
查看次数

如何从apk文件中获取数据库文件?

我有一个android 应用程序 apk 文件。我想从 apk 文件打开数据库文件:有没有官方工具可以从apk 文件打开数据库文件

通过使用提取器,我提取了该 apk 文件。最后我得到了一些文件,即assets, bin, lib,res文件夹,但我找不到数据库文件和布局文件。

我搜索了下面给出的路径:

资产->数据

但我没有在assets 文件夹中找到那个data 文件。为什么?

database sqlite android apk

6
推荐指数
1
解决办法
2万
查看次数