如何在没有环境变量的情况下读取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")

完成