gpt4 book ai didi

java - 如何使用 Spring Boot PropertySource 读取外部配置文件

转载 作者:行者123 更新时间:2023-11-29 04:16:14 25 4
gpt4 key购买 nike

我已经创建了一个配置类来存储配置值。这些配置值应该从配置文件“config.properties”中读取。下面是配置类:

@Configuration
@ComponentScan(basePackages = {"com.boot.Training.*"})
@PropertySource("file:/src/main/java/config.properties")
public class AppConfig {

@Value("${myFirstName}")
private static String myFirstName;

@Value("${myLastName}")
private static String myLastName;

public static void showVariables() {
System.out.println("firstName: " + myFirstName);
System.out.println("lastName: " + myLastName);
}

}

下面是 config.properties 文件的内容:

myFirstName=John    
myLastName=Doe

运行我的程序应该只是打印这些变量的值。但是,Eclipse 告诉我它找不到 config.properties 文件,即使我指定它位于 /src/main/java/config.properties 中。

我可能会在不考虑其他因素的情况下指定文件位置。我在这里缺少什么?

最佳答案

您使用的位置 (file:/src/main/java/config.properties) 指的是绝对路径,而不是相对于您的项目主页的路径。

一种更常见的方法是将 config.properties 作为资源目录中项目的一部分发送,并通过类路径引用它。如果你把它移动到 /src/main/resources/config.properties,你可以这样加载它:

@PropertySource("classpath:config.properties")

我相信理论上你可以将它留在 /src/main/java 并将你的 @PropertySource 位置更改为我上面的位置,但将它移动到 /resources 是更惯用的方式。

关于java - 如何使用 Spring Boot PropertySource 读取外部配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52236691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com