一种简单的解决方案是使用属性“ spring.profiles.active”的值来加载正确的application.properties。
在您的示例中,它将是这样的:
@Configuration @ComponentScan(basePackages = "my.base.package") @PropertySource({ "classpath:application.properties", "classpath:application-${spring.profiles.active}.properties"}) public class ServiceSpringConfiguration
请注意,此解决方案会带来问题,因为您可能有多个活动的弹簧轮廓,并且它将不再起作用。
另一个解决方案是按配置文件创建几个配置类:
@Configuration @Profile('dev') @PropertySource("classpath:application-dev.properties") public class Devconfiguration { }
和
@Configuration @Profile('prod') @PropertySource("classpath:application-prod.properties") public class Prodconfiguration { }