当前位置: 首页 > 知识库问答 >
问题:

Spring-如何用外部文件覆盖内部配置文件

归松
2023-03-14

我希望外部文件的属性覆盖内部值(如果它们存在于外部文件中)。

在我的configuration类中,我使用PropertySource注释设置文件:

@PropertySources(
{ @PropertySource("file:${HOME}/conf/application.properties"),  
  @PropertySource("classpath:/data.properties")  
})

共有1个答案

张坚白
2023-03-14

默认情况下,PropertySource的工作方式如下:-读取第一个属性文件-读取第二个(...)属性文件-如果它包含一个已经给定的键,它将被重写。

在此查看:http://javapapers.com/spring/spring-properties-with-propertysource-annotation/

如果您想将其与XML一起使用,请检查以下答案:在具有多个位置的Spring property placeholder配置器中,属性解析顺序是什么?

 类似资料:
  • 我有一个内部application.yml配置文件,位于classpath上的resources文件夹中。 我有一个外部配置文件:/home/username/config.properties,它覆盖一些字段以在服务器上下文中运行。 我如何实现这个预期的结果? 编辑:这个问题只发生在Linux上。当我在Windows10机器上用覆盖的配置文件运行它时,它可以正常工作。

  • 主要内容:spring.config.location,示例 1,spring.config.additional-location,示例 2除了默认配置文件,Spring Boot 还可以加载一些位于项目外部的配置文件。我们可以通过如下 2 个参数,指定外部配置文件的路径: spring.config.location  spring.config.additional-location  spring.config.location 我们可以先将 Spring Boot 项目打包成 JAR

  • 我想在重新启动时通过外部配置文件覆盖Spring Boot应用程序中的几个配置。 我正在使用的内容:java-jar-dspring.profiles.active=${ENV}my-application.jar 这将在应用程序启动期间加载特定于配置文件的应用程序属性。让我们假设我有一个问题,我需要更改我的应用程序中的配置,我不想重新构建我的应用程序与更改的属性,我想要实现的是,我提供一个外部属

  • 问题内容: 我在交互式python会话中将其用作变量名而意外覆盖了-有什么方法可以使我能够访问原始功能,而无需重新启动会话? (在那次会议上我有很多东西,我宁愿不必这样做,尽管当然可以,如果需要的话。) 问题答案: 只需删除掩盖内建函数的名称即可: 您仍然可以始终通过 模块访问原始的内置模块(在Python 2上,带下划线和no );如果您想覆盖内置函数,但又想从覆盖中遵从原始格式,请使用此命令:

  • 注意:它在src/main/resources/application.yml中工作