gpt4 book ai didi

Spring Boot如何读取jar外的属性文件

转载 作者:IT老高 更新时间:2023-10-28 13:53:14 26 4
gpt4 key购买 nike

在我的目标文件夹中,有 2 个文件夹,lib 和 conf。所有的properties文件都放在conf文件夹中,jars放在libfolder中。

在spring boot之前,我们在spring.xml中使用如下配置来使用@value

<context:property-placeholder location="classpath*:*.properties"/>

在java代码中:

@Value("${name}")

private String name;

但是在 spring boot 中,我不知道如何在 java 代码中做同样的事情。

我试过了,但没用

@Configuration
@PropertySource(value = "classpath:aaa.properties")
public class AppConfig {
@Bean
public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}

最佳答案

我对问题的标题和描述有点困惑。希望我的评论不会让您更加困惑。

一般来说,Spring Boot 对项目结构以及创建的二进制文件非常有意见。推荐的方式(Spring Boot 意见)是构建一个包含所有依赖项的 jar(fat jar)。如果您需要在 fat jar 之外定义的配置属性(或者如果您构建的是 war),Spring Boot 提供了许多选项(请参阅引用资料 1)。我喜欢我的应用程序使用可以使用系统属性设置的标志 (spring.config.location) 指向外部文件:

java -jar -Dspring.config.location=<path-to-file> myBootProject.jar

请注意,您可以通过使用环境变量来定义外部文件所在的位置来执行类似的操作。

我希望这会有所帮助!

引用资料: 1. https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

关于Spring Boot如何读取jar外的属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41754459/

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