首页 > 作文

java请求接口的几种方式(java程序开发三个步骤)

更新时间:2023-04-05 03:45:16 阅读: 评论:0

一、背景

在日常开发过程中,我们都会有多套开发环境,比如:开发、测试、生产等不同的应用环境,这些应用环境都对应不同的配置项,包括不同环境数据库地址、端口号等都是不尽相同的,要是没有多环境的自由切换,部署起来是很繁琐也容易出错的。本文主要介绍在 springboot 项目中如何进行多环境配置的方法。

8090年代歌曲二、采用maven环境切换方式

在 maven项目中,我们有一种简洁的多环境配置方式,maven 的思路是资源文件根据环境进行隔离,在测试的时候去加载正确的配置资源进行配置,另外 maven 的多环境资源隔离配置与 jenkins ci 集成较好。

1、pom.xml配置

先配置 pom.xml 文件的 build 节点。

 <build>  <resources>   <resource>    <directory>src/main/resources</directory>    <filtering>true</filtering>    <!--扫描替换参数的文件路径-->   </resource>  </resources>  <filters>   <filter>src/main/filters/filter-${env}.properties</filter>   <!--环境过滤器的配置方式,回头需要在该路径下建立对应文件-->  </filters>  <plugins>   <plugin>    <artifactid>maven-resources-plugin</artifactid>    <configuration>     <encoding>${project.build.sourceencoding}</encoding>     <!-- 需要加入,因为maven默认的是${},而springbooot 默认会把此替换成@{} -->     <udefaultdelimiters>true</udefaultdelimiters>    </configuration>   </plugin>   <plugin>    <groupid>org.springframework.boot</groupid>    <artifactid>spring-boot-maven-plugin</artifactid>    <version>${spring-boot-maven-plugin.version}</version>    <configuration>     <fork>true</fork>    </configuration>   </plugin>  </plugins> </build>

在 pom.xml 文件配置 properties

 <!-- 主要依赖库的版本定义,可以采用${属性名}引用 --><properties>    <project.build.sourceencoding>utf-8</project.build.sourceencoding>    <project.reporting.outputencoding>utf-8</project.reporting.outputencoding>    <!-- plugin 定义 小小飞行员-->    <spring-boot-maven-plugin.version>2.1.6.relea</spring-boot-maven-plugin.version></properties>

以上的配置主要做的事情就是标记资源文件,把 src/main/filters/filter-${env}.properties 也标记为了资源文件,{env} 的具体值见下面的配置

在 pom.xml 文件配置 properties 环境,多环境配置参数切换

<!-- 不同的测试环境 -->   <profiles>    <!-- 开发环境,默认激活 -->    <profile>     <id>dev</id>     <properties>      <env>dev</env>     </properties>     <activation>      <activebydefault>true</activebydefault><!--默认启用环境配置-->     </activation>    </profile>    <!-- 测试环境 -->    <profile>     <id>test</id>     <properties>      <env>test</env>     </properties>    </profile>    <!-- 线上环境 -->    <profile>     <id>product</id>     <properties>      <env>product</env>     </properties>    </profile>   </profiles>

2、配置文件

在 src/main/filters 下创建东京奥运会会徽配置文件:

filter-dev.properties:开发环境filter-product.properties:线上环境filter-test.properties:测试环境

用于环境信息记录,如:

#environmentenvironment=devhost=http://127.0.0.1port=8082jdbc-url=xxxxjdbc-urname=xxxxjdbc-password=xxxx
激励自己的名言

在 src/resource 下创建 application-maven.properties 文件。 该文件记录的信息是跟环境切换相关的参数,里面可以使用 key=value 的形式配置变量。 如:接口请求不同环境的host、数据库等,因不同环境的信息。

rver.port=${port}# 关于冬至的手抄报environmentenvironment=${environment}host.url=${host}# 数据源配置spring.datasource.url=${jdbc-url}spring.datasource.urname==${jdbc-urnamel}spring.datasource.password==${jdbc-password}spring.datasource.driver-class-name=com.mysql.cj.jdbc.driver

如图:

然后编译时,maven 命令加入参数 -p 命令即可指定相应的环境资源,比如: -ptest,则会替换 test 环境下的参数值。

mvn clean install -dskiptests -ptest

3、jenkins 配置

在 jenkins 使用 maven 构建项目测试前,先通过本地使用 maven 测试是否通过。 这里本来要将参数化构建,但参数化构建前先说明下是如何利用 maven 构建测试的。

同样,env 对应 maven 构建中的 -p%env% ,再对应 pom.xml 中的build信息,加入运行的环境选项

如下:

clean test -u -dxmlfilename=%xmlfilename% -p%env%

在这里插入图片描述

三、springboot多环境配置

profile 是 spring 针对不同环境不同配置的支持。需要满足 application-{profile}.properties,{profile} 对应你的环境标识。 如:

application-dev.properties:开发环境application-test.properties:测试环境application-product.properties:线上环境

在不同环境的配置文件中使用 key=value 的形式配置变量。

rver.port=8081

而指定执行哪份配置文件,只需要在 application.properties 配置 spring.profiles.active 为对应 ${profile} 的值。

# 指定环境为devspring.profiles.active=dev

则会加载 application-dev.properties 的配置内容

四、小结

一般我们在做自动化测试集成执行的时候,推荐maven环境切换方式,因为可以做到动态环境切换, 而 springboot多环境配置在使用ide开发的时候使用比较方便。

本文发布于:2023-04-05 03:45:15,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/276c9021f4cf785b84a215ae0a29c7f0.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:java请求接口的几种方式(java程序开发三个步骤).doc

本文 PDF 下载地址:java请求接口的几种方式(java程序开发三个步骤).pdf

下一篇:返回列表
标签:环境   测试   文件   参数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图