一般项目在不同的环境,所需要的参数会不同,例如数据库,接口地址等等,那么怎么样才能做到,不用每次换环境的时候,都去修改这些配置呢
如下图,根据不同环境把不同参数写入相对应的配置文件中,公共的项目属性参数写在application.properties中
在application.properties中配置项spring.profiles.active=dev,在项目启动时即调用application-dev.properties配置文件,更改该参数即可调用对应不同的参数配置文件,但是这种方式还是会涉及到文件修改,本地测试比较方便,线上依旧麻烦,
另一种方式通过执行项目启动参数命令来指定配置文件
第一步:进入到项目目录下,先用maven对项目进行打包,会在target目录下生成项目的jar包
第二步:进入target目录,执行命令:java -jar 生成的jar包 --spring.profiles.active=prod 即执行prod环境配置文件,更改该参数即可调用对应不同的环境参数配置文件
另外,不同环境涉及的不同参数可能在项目中有引用,例如不同环境的接口地址:
不同环境调用接口地址方式不一样,本地是http,生成环境是https
那么可以在application-dev.properties中配置参数dopost=http
在application-prod.properties中配置参数dopost=https
在项目中可以使用下列代码来引用配置文件中的dopost参数,代码中再根据参数作不同的逻辑处理;
@Value("${dopost}")
private String dopost;