小编Utk*_*mir的帖子

在Spring中使用通配符通过注释将文件作为资源列表注入

我有一个用作春豆的课程.bean的定义applicationContext.xml如下:

<bean id="myClass" class="com.example.MyClass">
        <property name="cssFiles" value="classpath*:../../cssDir/*.css"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

而且MyClass样子:

...
import org.springframework.core.io.Resource;
...
public class MyClass {
    private List<Resource> cssFiles;

    // methods etc.
}
Run Code Online (Sandbox Code Playgroud)

所以Spring用"classpath*:../../ cssDir /"下的所有扩展名为.css的文件填充cssFiles字段.

现在我正在努力转向完整的注释配置,但我无法用注释做同样的事情.这不起作用:

...
import org.springframework.core.io.Resource;
...
@Component
public class MyClass {
    @Value("classpath*:../../cssDir/*.css")
    private List<Resource> cssFiles;

    // methods etc.
}
Run Code Online (Sandbox Code Playgroud)

你有什么主意吗?

java spring dependency-injection spring-annotations spring-io

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

Chrome扩展程序开发:chrome.contextMenus为null

我正在为自己开发Google Chrome扩展程序.它在每个页面上的图像的右键单击上下文菜单中添加了一个额外的菜单项.

目前,我的扩展程序没有问题,但当我检查控制台日志时,我看到此错误日志:

未捕获的TypeError:无法调用未定义的方法'create'

在代码行上:

var id = chrome.contextMenus.create({
        "title": title, "contexts": [context],
        "onclick": genericOnClick
    });
Run Code Online (Sandbox Code Playgroud)

所以问题是,这里chrome.contextMenus空的.我发现它可能与权限有关,但我的manifest.json文件中有contextmenus权限.这是清单文件中的权限块:

  "permissions": [
    "contextMenus",
    "notifications",
    "<all_urls>"
  ],
Run Code Online (Sandbox Code Playgroud)

除此之外,我的扩展工作应该如此.那么为什么我在日志中看到这个错误?我是否应该简单地添加一个空检查,如果chrome.contextMenus为null 则不执行任何操作 或者我应该等待它被初始化(我不知道怎么做btw -outout在循环时使用旧样式)?

这是导致此错误的代码块:

var contexts = ["image"];
for (var i = 0; i < contexts.length; i++) {
    var context = contexts[i];
    var title = "Do something";

    var id = chrome.contextMenus.create({
        "title": title, "contexts": [context],
        "onclick": genericOnClick
    });
}

function genericOnClick(info, tab) {
    // some stuff …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome google-chrome-extension google-chrome-devtools

5
推荐指数
1
解决办法
1859
查看次数

SLF4J - 记录日志,无论日志级别如何

在我的 Java 应用程序中,我使用 SLF4J + Logback 进行日志记录。我在开发环境中使用调试级别日志记录,在生产环境中使用错误级别日志记录。但有一些消息我想在任何情况下记录,无论日志级别如何(类似于System.out.println("Some Message")但使用记录器)。

有什么实际的方法可以实现这一目标吗?我可以使用错误或更低的级别,但我想做的是提供一些信息,所以logger.error("Some message");在语义上是错误的,它不是错误。

我可以在我的logback.xml类中定义另一个记录器,但这并不方便。

实现这一目标的正确方法是什么?

java logging logback slf4j

5
推荐指数
1
解决办法
3148
查看次数

Java异常:异常是否应在其中包含其消息或将其作为参数

每当我需要定义一个自定义异常时,如果它的消息不会根据上下文而改变,我将消息放在该异常中.像这样:

public class UserNotFoundException extends RuntimeException {

    public UserNotFoundException() {
        super("User with given name is not found!");
    }
}
Run Code Online (Sandbox Code Playgroud)

而不是这个:

public class UserNotFoundException extends RuntimeException {

    public UserNotFoundException(String message) {
        super(message);
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,每次抛出此异常时我都不需要提供消息,我知道消息在每个地方都应该是相同的.

你觉得我的方法有问题吗?你更喜欢哪一个,为什么?

java exception-handling exception conventions custom-exceptions

0
推荐指数
1
解决办法
391
查看次数