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

Benjamin Liu

在我的目标文件夹中,有2个文件夹,lib和conf。所有的属性文件都放在conf文件夹中,而jars放在lib foulder中。

在Spring Boot之前,我们在spring.xml中使用以下配置来使用@value

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

并在Java代码中像:

@Value("${name}")

private String name;

但是在春季启动中,我不知道如何在Java代码中执行相同的操作。

我尝试了以下操作,但是没有用

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

问题的标题和描述让我有些困惑。希望我不会再让您对我的评论感到困惑。

总的来说,Spring Boot对项目结构以及所创建的二进制文件非常反对。推荐的方法(Spring Boot的意见)是构建一个内部具有所有依赖项的jar(胖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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在spring boot中从属性文件中读取

在Spring Boot Fat Jar中读取文件

无法从 spring boot .jar 读取文件

如何在Spring Boot中从资源读取JSON文件

如何在 Spring Boot 中上传和读取文件

如何在 Spring Boot 上读取 Heroku 部署的静态文件

如何在 Spring Boot docker 项目中替换 jar 文件

如何在Spring Boot中用yml文件替换属性文件

如何在spring项目中读取属性文件?

如何在Spring的共享jar中导入属性文件?

spring boot中的属性文件读取错误

Spring Boot从YAML(属性)文件读取数组

如何在属性文件Spring Boot中转义“ @”

Spring Boot如何在属性文件中隐藏密码

如何在Spring Boot中获取文件属性的内容

如何在 Spring Boot 中将端点作为属性文件保留

Spring Boot:如何使用@PropertySource 指向 jar 外的文本文件?

如何修改Spring Boot bootRepackage jar文件?

Spring Boot Batch MultiResourceItemReader:如何使用@Value()从jar位置读取文件

从 spring boot jar 中读取

如何在Spring Boot中从目标文件夹中读取Java文件

如何在Spring Boot Rest API中读取包含&符号(&)的@Request Param属性值

如何在Spring Boot应用程序中的静态字段上读取属性?

如何在Spring Boot应用程序中使用命令行参数读取自定义属性文件

Spring Boot无法从属性文件读取

Spring Boot未根据配置文件读取正确的属性

Spring Boot集成测试不读取属性文件

Spring Boot从不同的Maven模块读取属性文件

Spring Boot基于类路径arg读取属性文件