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

如何使Spring boot中的属性文件成为主文件和辅文件

谷梁英资
2023-03-14

嗨,我正在使用Spring4.3.7、Java8和Spring boot,我的要求是我有两个属性文件一个在类路径内部,另一个在外部。我两个都装上了。使用

@PropertySources({ @PropertySource("classpath:common.properties"), @PropertySource("classpath:anotherFile.properties") })
@PropertySource(value = {"file:${external.config.location}/config_one.properties"},  ignoreResourceNotFound = true)

两个文件的输入值将几乎相同,例如文件命名约定或文件创建位置(除了db详细信息和很少其他令牌详细信息),所要做的是,如果外部属性文件存在,则从它读取属性值,或者从类路径中的一个读取属性值。通过Spring Boot中的任何注释,这是可能的吗?

共有1个答案

充鑫鹏
2023-03-14

它是开箱即用的。不同的是,它不会“交替地”从一个或另一个源读取prop,而是从第一个源读取所有属性,然后从另一个源读取所有属性(并覆盖最终的副本),而不是移动到第三个源...如此等等

总共有17个“默认”来源,所有来源都有自己的优先级。在文档中查看更多信息

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config

 类似资料:
  • 如何加载放置在可执行jar文件的资源文件夹中的属性文件。在这里,我的应用程序本身就是一个jar,它自己执行。它需要在运行时根据代码中提到的路径找到这个属性文件(放在资源文件夹下)。我用过以下两种方法,但都没用。这里的重点是,当我在eclipse中执行时,这两个选项都可以正常工作,但当我将其打包到可执行jar中时,这两个选项都不起作用。它抛出NullPointerException。我在这里看到的唯

  • 寻找在Springboot应用程序中配置多个配置文件特定属性文件的最佳方法。下面是一个例子: -资源  · --application.properties  · · · · · --德夫             --application-dev.properties             --ldap-dev.properties             --Quartz-Dev.Prope

  • 问题内容: 我为该标题表示歉意。我找不到更好的方法来解释这种情况。 我使用URL http://www.exampledepot.com/egs/java.util/Props.html中所述的Property类加载属性文件。 我的问题是我可以在该属性文件中使用属性吗? 例: test.properties 其他语法有可能吗? 谢谢 问题答案: 以前从未见过。您当然 可以 制作自己的预处理器。只要

  • 问题内容: 我有一个配置值的键/值对列表,我想将它们存储为Java属性文件,并在以后加载和迭代。 问题: 我是否需要将文件存储在与将要加载它们的类相同的程序包中,或者应该将其放置在任何特定位置? 该文件是否需要以任何特定的扩展名结尾还是.txt可以的? 如何在代码中加载文件 我如何遍历其中的值? 问题答案: 你可以将InputStream传递给Property,因此你的文件几乎可以在任何地方,并且

  • 问题内容: 我正在创建一个在GlassFish中运行的Web服务,并且我想要一些自定义属性。为此,我正在使用该类。我使用的代码是: 但是,如何在配置目录中获取-file? 我不确定我的类路径,因为它是由NetBeans和GlassFish管理的。我假设我的-file在部署时已添加到类路径中… 我已经添加了自己的解决方案,但是如果有人可以提出更好的解决方案,那将是非常受欢迎的… 问题答案: 有效的解

  • 主要内容:什么是文件?,文件的属性什么是文件? 文件可以定义为一个存储记录序列的数据结构。 文件存储在文件系统中,该文件系统可能存在于磁盘或主存储器中。 文件可以是简单的(纯文本)或复杂的(特殊格式)。 文件的集合被称为目录。 在不同级别的目录集合被称为文件系统。 文件的属性 常见的文件属性如下所示 编号 属性 描述 1 名称 每个文件都包含文件在文件系统中被识别的名称。 同一目录中不能有两个同名的文件。 2 标识符 每个文件都有