我们如何在Spring Boot中设置不同的环境配置文件?

时间:2018-08-03 05:47:23

标签: spring spring-cloud-config spring-profiles

我正在使用protected CDO.Message ReadMessage(String emlFileName) { CDO.Message msg = new CDO.MessageClass(); ADODB.Stream stream = new ADODB.StreamClass(); stream.Open(Type.Missing, ADODB.ConnectModeEnum.adModeUnknown, ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, String.Empty, String.Empty); stream.LoadFromFile(emlFileName); stream.Flush(); msg.DataSource.OpenObject(stream, "_Stream"); msg.DataSource.Save(); return msg; } microservices上工作。我大约有5 spring boot。所以我将Spring Cloud Config Server配置为集中式配置。完美地工作了。

配置服务器配置

  

spring.profiles.active = native

     

spring.cloud.config.server.native.search-locations = classpath:/公共配置

     

server.port = 8888

现在的问题是我有两个环境microservicesdev,并且根据记录的春天我分别创建了testapplication-test.properties,我需要设置

春季个人资料

  

spring.profiles.active = test

,但是它已经设置为本机,那么我如何加载多个配置文件。

请帮助我..

3 个答案:

答案 0 :(得分:0)

您可以在每个应用程序的运行时将活动配置文件名称作为环境变量传入。这将优先于属性文件中列出的活动配置文件。您实际上可以使用任何属性来执行此操作。如果您使用docker启动应用程序,则可以从Dockerfile或docker-compose.yml

中传递它

答案 1 :(得分:0)

您可以设置spring.profiles.active = $ ACTIVE_SPRING_PROFILE并设置操作系统环境ACTIVE_SPRING_PROFILE = test

答案 2 :(得分:0)

您可以在Spring中使用多个配置文件。试试:

spring.profiles.active=dev,native

查看更多:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html#boot-features-profiles