Spring Boot 入门系列(二十四)多环境配置,3分钟搞定!
之前讲过Spring Boot 的系统配置和自定义配置,实现了按照实际项目的要求配置系统的相关熟悉。但是,在实际项目开发过程中,需要面对不同的环境,例如:开发环境,测试环境,生产环境。各个环境的数据库、Redis服务器等配置有可能不同,这就需要频繁的手动修改相关系统配置。这种方式特别麻烦,费时费力,而且出错的概率还极大。庆幸的是,Spring Boot 为我们提供了更加简单方便的配置方案来解决多环境的配置问题,下面就来聊一聊Spring Boot 系统配置之多环境配置实现。
一、增加配置文件
首先,在resource 目录下,分别创建 application-dev.properties、application-test.properties 和 application-production.properties 三个配置文件对应:开发环境、测试环境 和 生产环境。如下图所示:
根据开发、测试、生产等三个常见的环境分成了三个配置文件,分别配置上面三个环境的各自的配置项。
说明:
application.properties 为项目主配置文件,包含项目所需的所有公共配置。
application-dev.properties 为开发环境配置文件,配置开发环境所需的单独配置。
application-test.properties 为测试环境配置文件。
application-production.properties 为生产环境配置文件。
二、各环境相关配置
1、修改各个环境的配置文件
这里以不同环境的数据库配置不同为例,配置数据库的不同连接,配置信息如下:
# 数据库连接 spring.datasource.url=jdbc:mysql://localhost:3306/zwz_test spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
上面这个配置是开发环境 application-dev.properties 配置文件。其他的配置文件修改对应的配置连接即可,这里这里不重复了。
2、修改 application.properties 主配置文件
application.properties 为项目主配置文件,包含项目所需的所有公共配置,其他配置存放在application-dev.properties 等配置文件中。
# 服务器端口配置 server.port=8088 # 数据源相关配置,这里用的是阿里的druid 数据源 spring.datasource.druid.initial-size=1 spring.datasource.druid.min-idle=1 spring.datasource.druid.max-active=20 spring.datasource.druid.test-on-borrow=true spring.datasource.druid.stat-view-servlet.allow=true # mybatis 相关配置 mybatis.type-aliases-package=com.weiz.pojo mybatis.mapper-locations=classpath:mapper/*.xml
mapper.mappers=com.weiz.utils.MyMapper mapper.not-empty=false mapper.identity=MYSQL # 分页框架 pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql
# 开发环境 spring.profiles.active=dev # 测试环境 # spring.profiles.active=test # 生产环境 # spring.profiles.active=production
3、在 application.properties 激活不同环境的配置文件
在application.properties 配置文件中,增加如下配置,指定对应的环境目录。
# 开发环境 spring.profiles.active=dev # 测试环境 # spring.profiles.active=test # 生产环境 # spring.profiles.active=production
文件中的 spring.profiles.active 即为 指定当前的项目的环境。
选择使用对应的环境配置,只需要在application.properties 中加上 spring.profiles.active=test ,指定配置文件的后缀,就可以使用对应环境的配置。
三、启动测试
启动项目,在启动的时候,在系统启动日志中,可以看到加载的是哪个环境的配置文件。
从上面的启动日志,可以看到系统目前启动的是dev 开发环境。调用相关的接口,也可以查到系统最终连接的是哪个数据库。
四、启动项目指定环境
1、运行启动项目指定环境
在项目开发过程中,通过修改配置文件就能非常轻松的切换项目环境,但是打包部署时,能否指定对应的环境呢?答案是肯定的,下面我们来看看怎么快捷打包部署不同的环境:
java -jar myapp.jar --spring.profiles.active=dev
我们平时启动打包的jar包时,可能使用的是 java -jar myjavaapp.jar来启动项目,如果我们需要制定特定的环境启动只需要加上一个启动属性即可轻松完成一个jar在不同环境通用的效果。
2、idea 运行项目指定环境
idea运行项目是,指定项目环境也特别简单,idea配置VM参数即可。在VM选项中输入-Dspring.profiles.active=dev,表示激活dev环境;然后重启工程访问即可。
最后
以上,就把Spring Boot 项目配置多环境介绍完了,实现起来比较简单。。
这个系列课程的完整源码,也会提供给大家。大家关注我的微信公众号(架构师精进),回复:springboot源码。获取这个系列课程的完整源码。
作者:章为忠
如有问题,可以微信:18618243664 联系我,非常感谢。
关注我的微信公众号,获取相关的 源代码及视频资料。
原文地址:https://www.cnblogs.com/zhangweizhong/p/13231798.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- CuteOne:一款基于Python3的OneDrive多网盘挂载程序,带会员/同步等功能
- Baidu Sitemap Generator在PHP7无法生成XML的解决方法
- MFC实现的Socket通信
- 128-在线翻译
- C语言CGI编程二 - 编写cmd后门
- android 获取视频第一帧作为缩略图的方法
- Flutter利用注解生成可自定义的路由的实现
- Android实现随意拖动View效果的实例代码
- Kotlin的枚举与异常示例详解
- Android自定义View的使用及其原理知识点总结
- Android中Window的管理深入讲解
- Android UI绘制流程及原理详解
- flutter 轮播图动态加载网络图片的方法
- Kotlin如何捕获上下文中的变量与常量详解
- Android使用webView长按保存下载网络图片