Spring Profiles不会像预期的那样工作。我有以下两颗豆子。我想要用于本地、开发和myDevProfile的第一个Bean。我添加了@Profile({"local", "dev", "mydev"}),但它不起作用。我正在使用Spring Boot 2.0.1.RELEASE
@Bean
@Profile("local")
@Qualifier("myApiClient")
public ApiClient localxApiClient() {
return new RestTemplateApiClient(baseUrl);
}
@Bean
@Profile("!local")
@Qualifier("myApiClient")
public ApiClient xApiClient() {
return new ComplexClient(baseUrl);
}发布于 2019-11-27 23:25:33
这似乎对我很有效:
@SpringBootTest
@ActiveProfiles("local")
public class LocalApiClientTests {
@Autowired
private ApiClient apiClient;
@Test
public void testApiClient() {
assertThat(apiClient).isInstanceOf(RestTemplateApiClient.class);
}
}@SpringBootTest
@ActiveProfiles({"dev", "mydev"})
public class NonLocalApiClientTests {
@Autowired
private ApiClient apiClient;
@Test
public void testApiClient() {
assertThat(apiClient).isInstanceOf(ComplexClient.class);
}
}https://stackoverflow.com/questions/59069625
复制相似问题