如何在没有环境变量的情况下读取application.properties文件
问题描述:
请您可以帮助我在spring引导中从application.properties文件中读取属性,而无需自动装入环境变量和不使用环境变量。如何在没有环境变量的情况下读取application.properties文件
也不需要使用$ {propname}。我可以创建属性对象,但必须通过我的属性文件路径。我想从另一个位置获取我的prop文件。
感谢, Braj
答
这是一个核心的Java功能。如果你不想要,你不必使用任何Spring或Spring Boot功能。
Properties properties = new Properties();
try (InputStream is = getClass().getResourceAsStream("application.properties")) {
properties.load(is);
}
的JavaDoc:http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html
答
要阅读application.properties仅此注释添加到您的类:
@ConfigurationProperties
public class Foo {
}
如果要更改默认的文件
@PropertySource("your properties path here")
public class Foo {
}
答
尝试使用普通老Properties
。
final Properties properties = new Properties();
properties.load(new FileInputStream("/path/config.properties"));
System.out.println(properties.getProperty("server.port"));
如果你需要使用外部属性在配置文件中它可以与@PropertySource("/path/config.properties")