有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用不同的配置取决于spring活动配置文件

我想有不同的弹簧配置取决于活跃的弹簧配置文件。如果我从弹簧开始。个人资料。active=blabla我使用一种配置,如果开始参数中没有配置文件,我使用另一种配置。现在我可以使用blabla配置文件,但如果我启动jar时没有配置文件,它会同时使用这两种配置文件

默认配置:

@SpringBootApplication(
        exclude = {
                DataSourceAutoConfiguration.class,
                DataSourceTransactionManagerAutoConfiguration.class,
                HibernateJpaAutoConfiguration.class,
                SecurityAutoConfiguration.class})
@Slf4j
public class DefaultConfig {

    public DefaultConfig() {
        log.error("Using default config");
    }

}

Blabla配置:

@Profile("blabla")
@Configuration
@Import({
        DispatcherServletAutoConfiguration.class,
        ErrorMvcAutoConfiguration.class,
        JacksonAutoConfiguration.class,
        WebMvcAutoConfiguration.class,
        ServletWebServerFactoryAutoConfiguration.class,
})
@Slf4j
public class BlablaConfig {

    public BlablaConfig() {
        log.error("Using bla bla config");
    }

}

现在:

java-jar应用程序。罐子:

...
Using default config
Using bla bla config
...

java-jar应用程序。罐子——春天。个人资料。活动=布拉布拉:

...
Using bla bla config
...

应该是:

java-jar应用程序。罐子:

...
Using default config
...

java-jar应用程序。罐子——春天。个人资料。活动=布拉布拉:

...
Using bla bla config
...

共 (1) 个答案

  1. # 1 楼答案

    @Profile("!blabla")添加到DefaultConfig