Spring-boot框架允许我们提供YAML文件来代替.properties文件,这很方便。属性文件中的密钥可以YAML格式在资源文件夹中的application.yml文件中提供,并且spring-boot将自动采用请记住,yaml格式必须保持空格正确才能正确读取该值。
您可以使用@Value("${property}")
来注入YAML文件中的值。还可以提供Spring.active.profiles来区分不同环境的不同YAML,以便于部署。
为了进行测试,可以将测试YAML文件命名为application-test.yml,并将其放置在测试目录的资源文件夹中。
如果要指定application-test.yml
.yml并在.yml中提供弹簧测试配置文件,则可以使用@ActiveProfiles('test')
批注指示spring从指定的application-test.yml中获取配置。
@RunWith(SpringRunner.class)
@SpringBootTest(classes = ApplicationTest.class)
@ActiveProfiles("test")
public class MyTest {
...
}
如果您使用的是JUnit 5,则不需要其他注释,因为@SpringBootTest已包含springrunner注释。保留单独的主ApplicationTest.class使我们能够为测试提供单独的配置类,并且可以通过从测试主类的组件扫描中排除默认配置Bean来防止加载默认配置Bean。您还可以提供要在此处加载的配置文件。
@SpringBootApplication(exclude=SecurityAutoConfiguration.class)
public class ApplicationTest {
public static void main(String[] args) {
SpringApplication.run(ApplicationTest.class, args);
}
}
这是有关使用YAML而不是.properties
文件的Spring文档的链接:https : //docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html