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

Spring型材的多型材问题

汤昊
2023-03-14

Spring Profiles不像预期的那样工作。我只有不到两个豆子。我要用于local、dev和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);
}

共有1个答案

凌和颂
2023-03-14

这似乎对我有用:

@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);
    }
}
 类似资料:
  • 问题内容: 许多Java应用程序都是使用Maven构建的。Maven具有Profiles概念,为不同环境构建发行包确实非常方便。例如使用不同的…我想我不必在这里列出代码来解释它。 Spring是一个非常不错的Java开发框架,自从spring3以来,它还支持配置文件概念。 现在的问题是,为了释放到不同的ENV目的,哪个更好?现在我更喜欢Maven个人资料。因为spring必须在每个配置文件中复制每

  • 我正在使用angular 8.0.0,angular material和Fuse主题作为管理面板。问题是,每当我更改mat-select的样式时,它就会被应用,但在一两次刷新后,角度材质会覆盖本地组件更改并应用默认的。 它也会应用到所有组件,我如何才能只更改一个mat-select的样式? 我的html中有问题的部分: scss文件: } 尝试了stackoverflow的所有建议,但似乎无法改变

  • 模型的材质可以有两种定义方式,一种是在代码中导入模型后设置材质,另一种是在建模软件中导出材质信息。下面,我们将分别介绍这两种方法。 代码中设置材质 这种方法与例7.2.1类似,不同之处在于回调函数中设置模型的材质: 例7.3.1 var loader = new THREE.OBJLoader(); loader.load('../lib/port.obj', function(obj) {

  • 本节中,我们将使用3ds Max创建一个茶壶模型,并将导出的没有材质的模型使用Three.js导入场景中。 首先,下载OBJLoader.js并在HTML的<head>中使用: 例7.2.1 <script type="text/javascript" src="OBJLoader.js"></script> 然后,我们需要准备一个*.obj模型,可以使用建模软件导出,也可以在网上下载。这里,我

  • 我想要两个配置文件,一个使用MySQL数据源,另一个使用H2数据源。所以我创造了 和 我使用选项-Dspring.profiles。active=使用测试配置文件运行应用程序的测试。 有趣的是,测试配置文件似乎拾取了H2数据源,而不是方言,因此它崩溃了。如果我将 H2 配置放在 application.properties 中,它工作正常。 这里是运行测试配置文件的日志: 我认为错误的冬眠方言是崩

  • 问题内容: 我正在寻找一种在Java 1.8中创建紧凑配置文件的方法。是否可以创建紧凑配置文件,因为这是说它仅适用于嵌入式版本 问题答案: 简短答案 JEP 161指出配置文件必须使用Java 8。要创建它们,请使用 应答器稍长 您怀疑配置文件可能仅存在于嵌入式平台上,并且@skiwi的评论使我有些困惑,因此我决定自己检查一下。 OpenJDK示例 为了检查配置文件是否存在,我使用了OpenJDK