gpt4 book ai didi

java - 有没有办法根据 Activity 配置文件不启动 spring boot 应用程序?

转载 作者:行者123 更新时间:2023-11-28 21:35:56 25 4
gpt4 key购买 nike

我想知道是否有一种方法可以根据 Activity 配置文件不启动 spring boot 应用程序。这样做的原因是,我有两个配置文件:本地和集成。当配置文件是本地的时,我会在本地启动应用程序。如果配置文件是集成的,我希望测试不要启动应用程序,而只是使用我在配置类中设置的端点,以便它实际使用已部署的 spring boot 应用程序。

@SpringBootTest(
webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT
)
@ContextHierarchy({
@ContextConfiguration(
initializers = ConfigFileApplicationContextInitializer.class,
classes = TestConfiguration.class,
loader = SpringBootContextLoader.class
),
@ContextConfiguration(
initializers = ConfigFileApplicationContextInitializer.class,
classes = Application.class,
loader = SpringBootContextLoader.class
),
}
)
public class SpringContextConfiguration {

@Before
public void init(){}

}

最佳答案

在Spring Boot中,可以使用@Profile注解。你可以只定义两个 @Beans 实现 Foo 接口(interface),它们只在启动时创建,并将它们注入(inject)到 Bar 中,它只在你的 中创建>不要启动配置文件

@Profile('dont')
@Bean
class Bar {

private Foo foo;

public Bar(Foo foo) {
this.foo = foo;
}
}

interface Foo {

}

@Bean
@Profile('dont')
class Foo1 implements Foo {

}

@Bean
@Profile('dont')
class Foo2 implements Foo {

}

这会导致歧义,当设置配置文件 dont 时,会阻止您的应用程序启动。

关于java - 有没有办法根据 Activity 配置文件不启动 spring boot 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58814079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com