多环境配置

在开发应用时,常用部署的应用是多个的,比如:开发、测试、联调、生产等不同的应用环境,这些应用环境都对应不同的配置项,比如swagger一般上在生产时是关闭的;不同环境数据库地址、端口号等都是不尽相同的,要是没有多环境的自由切换,部署起来是很繁琐也容易出错的。

maven的多环境配置

在没有使用过springboot的多环境配置时,原先是利用maven的profile功能进行多环境配置,这里我简单回顾下。

maven配置

dev

true

8080

test

8888

src/main/resources

**/*

${project.basedir}/src/main/resources

**/*.properties

true

maven-resources-plugin

utf-8

true

org.springframework.boot

spring-boot-maven-plugin

然后编译时,加入-Ptest,则会替换test环境下的参数值。 完整参数:

1

mvn clean install -DskipTests -Ptest

application.properties

1

server.port=${pom.port}

利用maven实现多环境配置,比较麻烦的就是每次部署新环境时,都需要再次指定环境编译打包一次。一下进入主题,springboot的多环境,比较优雅了许多。

springboot多环境配置

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

  • application-dev.properties:开发环境
  • application-test.properties:测试环境

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

# 指定环境为dev

spring.profiles.active=dev

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

2018-07-15 14:52:41.304 INFO 15496 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)

2018-07-15 14:52:41.310 INFO 15496 --- [ main] c.l.l.s.chapter5.Chapter5Application : Started Chapter5Application in 8.506 seconds (JVM running for 10.81)

2018-07-15 14:52:41.316 INFO 15496 --- [ main] c.l.l.s.chapter5.Chapter5Application : 多环境应用启动.

还可以在**命令行方式**激活不同环境配置,如

java -jar xxx.jar --spring.profiles.active=test

此时就会加载application-test.properties的配置内容。 test:

这里顺便提一句,可能在不同环境下,可能加载不同的bean时,可利用@Profile注解来动态激活

@Profile("dev")//支持数组:@Profile({"dev

springboot多环境配置_编辑 SpringBoot|第五章:多环境配置相关推荐

  1. VS 中配置使用Visual SVN系列 五:SVN Client的配置和使用

    VS 中配置使用Visual SVN系列 五:SVN Client的配置和使用 1.TortoiseSVN上传项目文件 2.VS中同步该项目文件 到此VS 中配置使用Visual SVN系列已经完成如 ...

  2. dubbo yml配置_利用springboot+dubbo,构建分布式微服务,全程注解开发(一)

    随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 一.先来一张图 说起 Dubbo,相信大家都不 ...

  3. springboot自动配置_揭秘SpringBoot自动化配置

    花絮# 几年前接触过SpringBoot,跑过Demo,当时刚入行,连Spring都没搞明白,更别说SpringBoot了,就是觉得,哇塞,好厉害,然后一脸懵逼. 工作中没有用到,又没有去主动学习它. ...

  4. springboot mybatisplus 多数据源_【SpringBoot DB 系列】MybatisPlus 多数据源配置

    [SpringBoot DB 系列]Mybatis-Plus 多数据源配置 前面介绍了两种 Mybatis 的数据源配置,当然也少不了 mybatis-plus MyBatis-Plus (opens ...

  5. python 编程环境 微信_微信开发之新浪SAE上配置WeRoBot微信机器人,python,Mac环境...

    本文将带你了解微信开发新浪SAE上配置WeRoBot微信机器人,python,Mac环境,希望本文对大家学微信有所帮助. 废话不多说,直接上过程. 注册新浪sae,选择创建云应用,创建新应用,填好相关 ...

  6. 华为交换机审计配置_上网行为管理审计之交换机端口镜像配置(华为)

    一.说明 『环境配置参数』 1. PC1接在交换机E0/1端口,IP地址1.1.1.1/24 2. PC2接在交换机E0/2端口,IP地址2.2.2.2/24 3. E0/24为交换机上行端口 4. ...

  7. 静态配置_【实验】华为静态路由基础配置

    关注我,你的眼睛会怀孕 一.静态路由功能介绍 静态路由就是手工配置的路由,使得数据包能够按照预定的路径传送到指定的目标网络.当不能通过动态路由协议学到一些目标网络的路由时,配置静态路由就会显得十分重要 ...

  8. windows mysql主主配置_基于docker MySQL数据库主主同步配置(windows上)

    安装docker部分 坑点 docker拉镜像速度过慢 点击docker图标,点击邮件看到setting,setting界面上点击docker engine,配置如图所示 还有两个备用的镜像地址 &q ...

  9. jooq权限配置_将jOOQ与Spring结合使用:配置

    jooq权限配置 我遇到了由ORM引起的性能问题. 尽管我不得不承认大多数这些问题确实是由您造成的,但是我开始认为在只读操作中使用ORM是不值得的. 我开始寻找实现这些操作的替代方法. 这就是我遇到j ...

最新文章

  1. Centos安装Cacti监控
  2. Mysql查询结果只有一条的情况下把值赋值给变量,再用if else 流程判断
  3. 西华大学c语言期末成绩占比例,期末成绩开始录入!优秀率一般不得超过20%
  4. 案例:使用XPath的的爬虫
  5. Spring MVC静态资源实例
  6. java shuffle list_static void shuffle(Listlt;?gt; list)_Java.util包|WIKI教程
  7. Text to Image 文本生成图像定量评价指标分析笔记 Metric Value总结 IS、FID、R-prec等
  8. [实战] 图片转素描图
  9. oracle 00314,【案例】Oracle报错ORA-00314 数据库异常关机导致redo SCN不一致无法启动...
  10. matlab spams工具箱,matlab---SPAMS稀疏建模工具箱
  11. 《系统集成项目管理》第三章 信息系统集成专业技术知识
  12. 排列奇偶性与排序的关系
  13. 获取Golang环境变量的三种方式
  14. 火星超大nasa开源全景图分享
  15. 关于IOS和Mac添加新浪邮箱的问题
  16. 5W1H1V分析法帮你快速了解产品
  17. 使用Harr特征的级联分类器实现目标检测
  18. MSP432 OLED IIC
  19. root大师电脑版 v1.7.6.6640 官网最新版
  20. 渗透测试-web渗透本质–信息收集

热门文章

  1. UI设计APP素材可编辑模板|底部标签式导航
  2. java volatitl_Java中的关键字volatitle
  3. 判断变量是空_Python 判断变量是否是 None 的三种写法
  4. 频谱分析幅值单位_FFT分析的注意事项,您都知道吗?
  5. C++ 虚函数,纯虚函数,抽象类整理
  6. ZeroMQ简介:一种高性能的异步消息传递库
  7. 用PostgreSQL运行文件中的SQL程序
  8. 电脑动态壁纸_《Wallpaper Engine》一周电脑动态壁纸精选-第十二期
  9. Django:cmd虚拟环境及第一个project、Pycharm虚拟环境及第一个project、Not Found favicon.ico、Windows命令行创建虚拟环境、Django版本选择
  10. tomcat虚拟盘符映射