springboot多环境配置方案(不用5分钟)

网友投稿 534 2022-12-16


springboot多环境配置方案(不用5分钟)

一 前言

本篇文章的主题是在springboot中写多个配置文件,指定让个配置文件生效,以便于达到在开发环境,测试环境,线上环境根据不同的配置灵活应用;读完本篇你将获得,学会springboot的多环境配置;学会使用idea配置虚拟机参数启动不同的配置文件;学会使用jar包运行并且指定不同的配置文件等;

二 激活方式一

spring框架内部提供了2中方式用于加载YAML文档,以供启动时读取配置文件;YamlPropertiesFactoryBean 会 加载 YAML 变为 Properties;YamlMapFactoryBean 会 转换 YAML 为map;使用YAML更加简便不用担心内部具体如何转换;

2.1pom.xml

引入依赖boor-start依赖和打包插件;jdk1.8版本,boot2.1.1;

org.springframework.boot

spring-boot-starter-parent

2.1.1.RELEASE

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-maven-plugin

2.2 application.yml

一切从简,知识追寻者不会在配置文件中写其他内容,就指定端口即可,用于区别不同的环境;其中配置开发环境为dev,生产环境为pro;默认激活dev 环境;

BkABNNZTH# 激活配置

spring:

profiles:

active: dev

---

# 配置一 开发环境

spring:

profiles: dev

server:

port: 8060

---

# 配置二 生产环境

spring:

profiles: pro

server:

port: 8061

2.3 controller

controller一个hell方法,用于浏览器测试;

@RestController

public class ZSZXZ {

@GetMapping("zszxz")

public String hello(){

return "hello 知识追寻者";

}

}

2.4 启动类

启动类添加@SpringBootApplication注解,表名是个springboot应用,会进行自动配置;

/**

* @Author lsc

*

多环境配置

*/

@SpringBootApplication

public class ProfileApp {

public static void main(String[] args) {

SpringApplication.run(ProfileApp.class,args);

}

}

2.5 dev执行结果

启动工程,打开浏览器路径如下,端口是8086,说明默认激活dev环境已经成功

http://localhost:8060/zszxz

2.6 pro执行结果

application.yml中修改激活环境为pro后重启工程,修改浏览器端口,执行结果如下说明配置成功;

# 激活配置

spring:

profiles:

active: pro

http://localhost:8061/zszxz

执行结果

三 激活方式二

3.1 application.yml

去除application.yml中激活方式,知识追寻者改用idea配置VM参数选项方式进行激活;

---

# 配置一 开发环境

spring:

profiles: dev

server:

port: 8060

---

# 配置二 生产环境

spring:

profiles: pro

server:

port: 8061

3.2 idea配置VM参数

在VM选项中输入-Dspring.profiles.active=dev,表示激活dev环境;然后重启工程访问即可

四 项目部署方式

将工程打包成jar包,在cmd中如下命令执行,如果包名不同请替换,然后浏览器访问即可;

java -jar springboot-profile-1.0-SNAPSHOT.jar --Dspring.profiles.active=dev

五 多配置文件方式

上面的配置文件都写在一个application.yml中,过于累赘,为了方便查阅和解耦合,推荐多个配置文件方式,然后在主配置文件中激活,具体的步骤如下;

5.1 application-zszxz.yml

新建yml文件名为application-zszxz.yml;内容如下

server:

port: 8061

5.2 application-test.yml

新建yml文件名为application-test.yml;内容如下

server:

port: 8060

5.3 application.yml

修改application.yml内容如下

spring:

profiles:

active: zszxz

5.4 启动后结果

http://localhost:8061/zszxz 启动后结果 与之前一致,不再贴图浪费资源;


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot使用war包部署到外部tomcat过程解析
下一篇:Python自定义计算时间过滤器实现过程解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~