Spring Boot获得application.properties的距离(或其文件路径)

问题描述 投票:0回答:1

我使用的是Spring Boot,我需要在启动时加载application.properties文件的实例;可能吗?? (一种可能的解决方法是找到启动时加载的application.properties的文件路径...但是如何获取呢?)

当前我在我的项目中有一个application.properies,但是将来我必须从包含完整路径的环境变量中获取它

包含我的属性管理的类是这样的:

@Component
public class SpringBootConfigurations {

public static String PROP_JIRA_USER;

@Value("${jira.user}")
private void setJiraUser(String user) {
    PROP_JIRA_USER = user;
}

public static String PROP_JIRA_PASSWORD;

@Value("${jira.password}")
private void setJiraPassword(String password) {
    PROP_JIRA_PASSWORD = password;
} etcc...

谢谢

java spring-boot spring-annotations
1个回答
0
投票

Spring(Boot)提供了一种非常全面且灵活的配置机制,该机制从配置源中抽象出来。此机制基于Chapter 2: Externalized Configuration中指定的定义良好的属性覆盖顺序。

考虑本文档,有几种方法可以将配置参数输入到Spring Boot应用程序中(非穷举:)

  1. [将它们作为命令行参数传递(例如--smpt.port=1234
  2. 在命令行中将它们作为系统属性传递(例如-Dsmpt.port=1234
  3. 将它们定义为环境变量
  4. @PropertySource类上使用@PropertySource注释。由于@Configuration值可以包含@PropertySource占位符,因此应该可以在此处使用环境变量来引用您的属性文件。
  5. 编写您自己的${...}。 (尽管我认为这对于您的目的不是必需的。)
  6. 另请参见PropertySource-implementation

© www.soinside.com 2019 - 2024. All rights reserved.