Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据spring活动配置文件使用不同的配置_Java_Spring_Spring Boot - Fatal编程技术网

Java 根据spring活动配置文件使用不同的配置

Java 根据spring活动配置文件使用不同的配置,java,spring,spring-boot,Java,Spring,Spring Boot,我想有不同的弹簧配置取决于活动弹簧配置文件。如果我用--spring.profiles.active=blabla启动jar,我会使用一个配置,如果启动参数中没有配置,我会使用另一个配置。现在我可以使用blabla配置文件,但如果启动jar时没有配置文件,它会同时使用这两种配置文件 默认配置: @SpringBootApplication( exclude = { DataSourceAutoConfiguration.class,

我想有不同的弹簧配置取决于活动弹簧配置文件。如果我用--spring.profiles.active=blabla启动jar,我会使用一个配置,如果启动参数中没有配置,我会使用另一个配置。现在我可以使用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 app.jar:

...
Using default config
Using bla bla config
...
...
Using default config
...
java-jar app.jar--spring.profiles.active=blablabla:

...
Using bla bla config
...
...
Using bla bla config
...
应该是:

java-jar app.jar:

...
Using default config
Using bla bla config
...
...
Using default config
...
java-jar app.jar--spring.profiles.active=blablabla:

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

@Profile(“!blabla”)
添加到您的
DefaultConfig

您能否显示包含所有这些配置文件的
application.yml
application.properties
“如果启动参数中没有配置文件,我将使用另一个”“如果启动jar时没有配置文件,它将同时使用这两个”这两个语句似乎相互矛盾。当你开始没有个人资料时,你想要一个还是两个?泰,这就是我需要的