Java 基于请求的同一Spring启动应用程序的多个属性文件

Java 基于请求的同一Spring启动应用程序的多个属性文件,java,spring,spring-boot,spring-cloud-config,Java,Spring,Spring Boot,Spring Cloud Config,我有一个Spring Boot应用程序,用于使用Cucumber和Selenium实现UI测试自动化。 该应用程序预计将测试多个环境。 首先,我创建了带有URL、凭据等必需属性的json文件,并在触发测试时加载它(将文件路径作为属性传递并使用它)(mvn test-DconfigFile=config/env1_config.json) 我看到在运行测试时使用概要文件是一个选项-Dspring.profiles.active=client1,但由于我将在Jenkins中配置多个管道以测试多个环境

我有一个Spring Boot应用程序,用于使用Cucumber和Selenium实现UI测试自动化。 该应用程序预计将测试多个环境。
首先,我创建了带有URL、凭据等必需属性的json文件,并在触发测试时加载它(将文件路径作为属性传递并使用它)(
mvn test-DconfigFile=config/env1_config.json

我看到在运行测试时使用概要文件是一个选项
-Dspring.profiles.active=client1
,但由于我将在Jenkins中配置多个管道以测试多个环境以使用具有不同配置文件的同一项目,它将克隆整个项目并在与管道对应的工作区中运行测试。为了避免保留项目的多个副本,我计划使用RESTAPI触发Selenium测试,并在Git中保存配置文件


是否可以创建具有自定义属性的多个应用程序属性文件,将它们放在Git中,并在基于属性或RequestParam的Spring Boot应用程序(在Rest API impl中)中使用所需的属性文件(使用Spring Cloud Config或其他工具)?

您可以使用Spring Boot profiles并将其作为maven参数传递

只需将
-Dspring.profiles.active=test1
作为命令行参数传递即可


您可以阅读更多

您可以使用spring引导配置文件并将其作为maven参数传递

只需将
-Dspring.profiles.active=test1
作为命令行参数传递即可


您可以阅读更多内容

您可以通过设置
spring.profiles.active
环境变量来完成。例如,如果按照约定application-dev.properties、application-qa.properties为每个环境使用属性文件。您可以将您
spring.profiles.active
定义为dev和qa

您可以参考下面的链接了解更多关于同一网站的信息


您可以通过设置
spring.profiles.active
环境变量来实现。例如,如果按照约定application-dev.properties、application-qa.properties为每个环境使用属性文件。您可以将您
spring.profiles.active
定义为dev和qa

您可以参考下面的链接了解更多关于同一网站的信息


您可以使用Spring云服务器和客户端

使用Dependency
SpringCloudServer
创建一个项目,并在其中创建配置文件(appilation.properties)。用于在其他microservice中使用该配置文件 只需在其他项目中添加SpringCloudCilent依赖项,并在application.properties中添加这一行即可

spring.cloud.config.uri:[your spring cloud server project url]
参考文献:-

  • spring云服务器:-
  • spring云客户端:-

  • 您可以使用Spring云服务器和客户端

    使用Dependency
    SpringCloudServer
    创建一个项目,并在其中创建配置文件(appilation.properties)。用于在其他microservice中使用该配置文件 只需在其他项目中添加SpringCloudCilent依赖项,并在application.properties中添加这一行即可

    spring.cloud.config.uri:[your spring cloud server project url]
    
    参考文献:-

  • spring云服务器:-
  • spring云客户端:-

  • 分享我最终采用的方法,因为有一天它可能会帮助别人

    由于我想创建一个Rest API,并根据API请求在API实现中使用来自不同配置文件的属性,
    我创建了一个Spring Cloud Config Server应用程序,该应用程序连接到git中的应用程序属性repo,并且我在Rest API实现的服务层中使用了Spring Cloud Config Server(主机:port/app/profile)公开的Rest API。

    分享了我最终使用的方法,因为它可能有一天会帮助别人

    由于我想创建一个Rest API,并根据API请求在API实现中使用来自不同配置文件的属性, 我创建了一个springcloudconfig服务器应用程序,该应用程序连接到git中的应用程序属性repo,并在restapi实现的服务层中使用了springcloudconfig服务器(host:port/app/profile)公开的restapi