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.2application.yml
一切从简,知识追寻者不会在配置文件中写其他内容,就指定端口即可,用于区别不同的环境;其中配置开发环境为dev,生产环境为pro;默认激活dev环境;
#激活配置 spring: profiles: active:dev --- #配置一开发环境 spring: profiles:dev server: port:8060 --- #配置二生产环境 spring: profiles:pro server: port:8061
2.3controller
controller一个hell方法,用于浏览器测试;
@RestController publicclassZSZXZ{ @GetMapping("zszxz") publicStringhello(){ return"hello知识追寻者"; } }
2.4启动类
启动类添加@SpringBootApplication注解,表名是个springboot应用,会进行自动配置;
/** *@Authorlsc *多环境配置
*/ @SpringBootApplication publicclassProfileApp{ publicstaticvoidmain(String[]args){ SpringApplication.run(ProfileApp.class,args); } }
2.5dev执行结果
启动工程,打开浏览器路径如下,端口是8086,说明默认激活dev环境已经成功
http://localhost:8060/zszxz
2.6pro执行结果
application.yml中修改激活环境为pro后重启工程,修改浏览器端口,执行结果如下说明配置成功;
#激活配置 spring: profiles: active:pro
http://localhost:8061/zszxz
执行结果
三激活方式二
3.1application.yml
去除application.yml中激活方式,知识追寻者改用idea配置VM参数选项方式进行激活;
--- #配置一开发环境 spring: profiles:dev server: port:8060 --- #配置二生产环境 spring: profiles:pro server: port:8061
3.2idea配置VM参数
在VM选项中输入-Dspring.profiles.active=dev,表示激活dev环境;然后重启工程访问即可
四项目部署方式
将工程打包成jar包,在cmd中如下命令执行,如果包名不同请替换,然后浏览器访问即可;
java-jarspringboot-profile-1.0-SNAPSHOT.jar--Dspring.profiles.active=dev
五多配置文件方式
上面的配置文件都写在一个application.yml中,过于累赘,为了方便查阅和解耦合,推荐多个配置文件方式,然后在主配置文件中激活,具体的步骤如下;
5.1application-zszxz.yml
新建yml文件名为application-zszxz.yml;内容如下
server: port:8061
5.2application-test.yml
新建yml文件名为application-test.yml;内容如下
server: port:8060
5.3application.yml
修改application.yml内容如下
spring: profiles: active:zszxz
5.4启动后结果
http://localhost:8061/zszxz启动后结果与之前一致,不再贴图浪费资源;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。