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

在Spring Boot中使用外部化配置的junit测试的不同YAML配置文件

廖弘伟
2023-03-14

我正在学习关于使用外部配置文件进行Spring Boot的教程。我让一切都完全按预期工作,但我在重写测试的默认YAML配置时遇到了问题。

如果使用'@PropertySource'是将配置文件加载到项目中的最佳方式,有人能告诉我正确的方向或建议吗(有一堆属性,我希望尽可能保持application.yaml干净)

项目结构:

src: - main/resources/foo.yml <-- always loads this one
     - test/resources/foo.yml <-- never loads

我所尝试的:

@PropertySource(value = "classpath:foo.yml")

不将test/resoruces/foo.yml加载到类路径

ActiveProfiles()

Spring Boot:2.2.7.释放

共有1个答案

汪坚
2023-03-14

试试这个:

@TestPropertySource(properties = { "spring.config.location=classpath:foo.yml" })
 类似资料:
  • 在springboot应用程序中,我有一个jar,然后是一个子目录config with application。属性,applicationContext。xml和log4j。。。属性文件。 我正在尝试外部化log4j配置。application.properties是这样外部化的。 但是,当springboot运行时,它使用jar文件中的log4j配置文件。通过使用-Dlog4j.debug选

  • db-config-test.xml Maven插件: StackError:

  • 我有一个启动应用程序,部署到一个外部tomcat服务器,一切工作在我的本地与本地数据库。现在,我必须将代码推广到数据库配置不同的更高环境。我读了很多关于配置文件的etc...,但是当它是一个外部tomcat并且不使用

  • 我不确定我是否很好地理解了Spring概要文件是如何处理yaml和属性文件的。我试图将这两种类型的配置分开(这两个文件不共享任何配置),但在从yaml配置中读取配置文件时遇到了问题。 我的问题是,当我试图(通过xml)配置我的数据源时,这样做: Spring总是使用YAML文件中的最后一个配置,忽略概要文件。我试图通过web.xml中的contex-parameter或直接将活动概要文件传递给JV

  • 上一个示例仅展示了java硬编码式的配置,更多的应用场景是使用外部配置文件,灵活配置调度策略,以便于随时改变调度策略,如下是外部配置的代码示例: cron4j=task1, task2 task1.cron=* * * * * task1.class=com.xxx.TaskAaa task1.daemon=true task1.enable=true task2.cron=* * * * *