java - 使用不同的配置取决于弹簧活动配置文件
问题描述
我想根据活动弹簧轮廓有不同的弹簧配置。如果我用 --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");
}
}
布拉布拉配置:
@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
...
java -jar app.jar --spring.profiles.active=blabla:
...
Using bla bla config
...
应该是:
java -jar app.jar:
...
Using default config
...
java -jar app.jar --spring.profiles.active=blabla:
...
Using bla bla config
...
解决方案
添加@Profile("!blabla")
到您的DefaultConfig
.
推荐阅读
- php - 多个条件 where 子句在 Eloquent 查询中不起作用
- javascript - 如何在反应中添加带有使用api获取的参数的href链接?
- reactjs - 使用 React Native Geolocation 如何让其他用户在地图上显示?
- javascript - JS reduce:对象累加器标题
- c# - Microsoft Graph 事件资源类型:更新开始和结束日期时间问题
- php - 如何确保 mysql 查询字符串 php 中没有缺失值
- c# - C# 类构造函数问题
- mongodb - 我应该为此创建一个单独的模型(集合)吗?
- python - shutil.make_archive 后 .txt 文件中缺少内容
- scala - 在哪里可以找到下载的 sbt 插件?