在Spring Boot 1.4应用程序的YAML中定义属性时,我必须使用main / resources / application.yaml文件。到目前为止,非常好。
在运行或测试应用程序时,如何使用YAML覆盖这些依赖项,具体取决于特定的配置文件。
答案 0 :(得分:0)
使用Spring Boot 1.4时(这也适用于1.3版),YAML属性始终在main / resources / application.yaml文件中定义。根据所选的配置文件,属性可以被另一组属性覆盖。
要覆盖这些测试属性,必须在/test/resources/application-.yaml文件中提供YAML文件,该文件由活动配置文件替换。重要的是要看到始终必须给出配置文件,即使没有活动配置文件也是如此。在这种情况下,配置文件是“默认”。
要在运行应用程序时覆盖属性,可以在名为main / resources / application-.yaml文件的文件中使用特定配置文件覆盖属性。即使在这种情况下,如果没有给出配置文件,文件名的配置文件也是“默认”。
实施例
Spring Boot 1.4的测试类Spring14ApplicationTests.java具有以下定义
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK)
public class Spring14ApplicationTests {
…
}
对于Spring Boot 1.3,同一文件具有以下定义
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes=SpringDb14Application.class)
@WebAppConfiguration
public class SpringDb14ApplicationTests {
...
}