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 楼答案
将
@Profile("!blabla")
添加到DefaultConfig