创建了一个Spring Boot应用程序,需要从" Local Dev"到"测试"," QA"和" Prod"的环境中。
应用程序目前使用" application.properties"用于数据库连接和Kafka配置。
我想部署到"测试"并意识到这些属性不适用于该环境。在阅读了ref docs之后,看起来我可以简单地复制application.properties文件并添加一个新的application-test.properties,依此类推,然后使用-Dspring.profiles.active = test运行独立的jar并且似乎工作。
但是当我完成时,这意味着我在jar中有4个不同的apply-XXXXX.properties文件,这可能是也可能不坏。我知道最终的配置是使用Spring Config服务器,但是现在我们不关心这个。
任何人都可以验证使用多个属性文件是否可行并且可以工作一段时间,或者如果我看到这一切都是错误的。我不想在每个环境中的服务器上进行配置,因为我认为这些迷你服务应该是自包含的。
任何意见都会受到赞赏。
答案 0 :(得分:0)
总之,您的配置文件应该在源代码之外。
@PropertySource(value = {"classpath:system.properties"})
public class EnvironmentConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer properties() {
return new PropertySourcesPlaceholderConfigurer();
}
}
让我们说它名为" system.properties" ,它将在您的应用程序类路径下的部署阶段上传到服务器。