Java 根据spring活动配置文件使用不同的配置
我想有不同的弹簧配置取决于活动弹簧配置文件。如果我用--spring.profiles.active=blabla启动jar,我会使用一个配置,如果启动参数中没有配置,我会使用另一个配置。现在我可以使用blabla配置文件,但如果启动jar时没有配置文件,它会同时使用这两种配置文件 默认配置:Java 根据spring活动配置文件使用不同的配置,java,spring,spring-boot,Java,Spring,Spring Boot,我想有不同的弹簧配置取决于活动弹簧配置文件。如果我用--spring.profiles.active=blabla启动jar,我会使用一个配置,如果启动参数中没有配置,我会使用另一个配置。现在我可以使用blabla配置文件,但如果启动jar时没有配置文件,它会同时使用这两种配置文件 默认配置: @SpringBootApplication( exclude = { DataSourceAutoConfiguration.class,
@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时没有配置文件,它将同时使用这两个”这两个语句似乎相互矛盾。当你开始没有个人资料时,你想要一个还是两个?泰,这就是我需要的