在许多文档中,@ PropertySource的用法通常是这样的:
@PropertySource("classpath:/document.properties")
在我的Spring-boot项目中,我在
application.properties
中具有以下内容config.path=/home/myservice/config.properties
并在Java源代码中:
@PropertySource(value = {"${config.path}"}, encoding="utf-8")
public class MyConfig {
@Value("${myconfig.index}")
private String index;
public String getIndex() {
return index;
}
}
但是我得到以下异常:
Caused by: java.io.FileNotFoundException: class path resource [home/myservice/config.properties] cannot be opened because it does not exist
在我看来,@ PropertySource默认情况下会在类路径中导入资源文件,所以我的问题是如何使用@PropertySource导入不在类路径中的资源文件?
最佳答案
试试这个:@PropertySource(值= {“文件:$ {config.path}”},编码=“ utf-8”)
Indicate the resource location(s) of the properties file to be loaded. For example, "classpath:/com/myco/app.properties" or "file:/path/to/file".
关于java - Spring:如何使用@PropertySource导入不在classpath中的资源文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46657774/