SpringBoot多环境配置教程详解

目录
  • 一、为什么要配置多环境
  • 二、如何进行多环境配置呢
    • 1、针对 yaml 配置文件
    • 2、针对 properties 配置文件
  • 三、命令行启动参数
    • 第一步:打包项目
    • 第二步:输入命令行
    • 补充内容

一、为什么要配置多环境

当我们工作开发真实的项目时,可能会遇到不同的环境,如:开发环境、生产环境、测试环境等,不同的环境所需要的配置内容也会不尽相同,如果我们每次切换环境时再去配置对应的环境配置,肯定会降低我们的开发效率,所以,掌握多环境配置还是非常有必要的。

二、如何进行多环境配置呢

我们还是以配置端口号为例,来演示如何进行多环境配置问题。

1、针对 yaml 配置文件

# 设置启用的环境
spring:
  profiles:
    active: dev

---
# 开发环境
spring:
  profiles: dev  # 为开发环境命名
server:
  port: 80

---
# 生产环境
spring:
  profiles: pro  # 为生产环境命名
server:
  port: 81

---
# 测试环境
spring:
  profiles: test  # 为测试环境命名
server:
  port: 82
  • 不同的环境之间需要用 3 个 “ - ” 号作为分割。
  • 在需要使用哪个环境时,就将 active 的属性值声明为那个环境的名字。
  • 初始 port 端口号,还可以在配置其他信息,在此我就不再一一赘述了。

2、针对 properties 配置文件

使用 yaml 配置文件,一个文件就能够完成多环境的配置工作,但是如果使用 properties 配置文件的话,需要使用多文件才能够完成。

主配置文件 application.properties

# 设置启用的环境
spring.profiles.active=dev

开发环境 application-dev.properties

server.port=80

生产环境 application-pro.properties

server.port=81

测试环境 application-test.properties

server.port=82
  • 有多少个环境,就需要定义多少个配置文件,在自己的配置文件中配置环境内容。
  • 在主配置文件中声明使用哪个环境。

三、命令行启动参数

通常情况下,我们都会将做好的项目打包成 jar 包,那么,如果我们在命令行中执行 jar 包的时候能够完成切换环境的功能吗?还是说,我们必须在到 IDEA 开发工具中去配置文件中手动改变当前启用的环境呢?答案当然是否定的,我们可以通过命令行参数还完成环境的切换。

第一步:打包项目

打包工作在 【SpringBoot】快速入门一文中有详细讲解,感兴趣的小伙伴可以移步查看。

选中 package 后运行开始打包。

完成到找到相应的文件夹,执行 cmd 命令。

第二步:输入命令行

输入命令:java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=test

通过分析端口号能够发现,已经切换到了测试环境中。

命令最后多了 “ --spring.profiles.active=test ” 部分内容,仔细观察是否发现,这和我们在配置文件中写的配置启用环境内容是不是非常像呢?没错,就是按照它写的。

这就告诉我们,如果我们想使用命令行方式切换环境,可以使用上述方式进行。

补充内容

除了使用上述方式可以完成切换环境的操作外,如果我们还想使用一个我们从未定义过的端口号该怎么做呢?

输入命令:java -jar demo-0.0.1-SNAPSHOT.jar --server.port=90

直接使用 “ server.port=90 ” 指定临时端口号,同样能够生效。

很多小伙伴不明白为什么要使用 “ server.port" 的方式指定,这是因为我们在配置文件中就是使用该方式指定端口号的,只是搬到了命令行参数上罢了。

当同时指定 “ server.port = 90 ” 和 “ spring.profiles.active=test ” 时,哪一个会起作用呢?我们不妨测试一下。

根据端口号可以得出 “ server.port = 90 ” 这个参数起作用了,说明它的优先级更高。

对于优先级的内容,可以参考官网。

当配置多个时,优先级高的生效。

到此这篇关于SpringBoot多环境配置教程详解的文章就介绍到这了,更多相关SpringBoot多环境配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Spring Boot自动配置的原理及@Conditional条件注解

    目录 1 @SpringBootApplication自动配置原理 2 @Conditional系列条件注解 1 @SpringBootApplication自动配置原理 @SpringBootApplication是一个组合注解,主要由@ComponentScan.@SpringBootConfiguration.@EnableAutoConfiguration这三个注解组成.@EnableAutoConfiguration是Spring Boot实现自动配置的关键注解. @Component

  • SpringBoot如何使用applicationContext.xml配置文件

    目录 使用applicationContext.xml配置文件 applicationContext 加载配置文件 案例 多文件的加载方法 使用applicationContext.xml配置文件 SpringBoot默认是通过Java代码进行依赖注入,但也为xml形式的依赖注入提供了入口,就是@ImportResource注解. 我们可以在SpringBoot的启动类上添加这个注解并在注解的locations属性中指定xml配置文件.(可以使用一个文件集合也可以只引入主配置文件然后在主配置文件

  • Spring Boot详解配置文件的用途与用法

    目录 1. SpringBoot 配置文件 1.1 配置文件的作用 1.2 配置文件的格式 1.3 properties 配置文件说明 1.3.1 properties 基本语法 1.3.2 读取配置文件 1.4 yml 配置文件说明 1.4.1 yml 基本语法 1.4.2 yml 使用进阶 1.4.3 配置对象 1.4.4 配置集合 1.4.5 yml的另一种写法(行内写法) 1.5 properties 和 yml 比较 2. 读取 SpringBoot 配置文件的方法 2.1 使用 @V

  • Spring深入了解常用配置应用

    目录 常用配置 一.别名 二.bean 的配置 三.import 存在问题 总结 常用配置 现在这里简单了解一下spring 配置文件中的一些常用配置,在后面我们还会遇到更多的配置,在后文继续进行介绍了. spring中的配置一共也就这几个 description描述不太重要, bean在之前已经见识过了, alias给bean起别名, import在当前xml文件中导入其他xml文件 一.别名 在spring中别名主要是给bean的id起一个别名,同样也有好几种方式. 1.alias 配置 <

  • SpringBoot超详细讲解自动配置原理

    目录 SpringBoot自动配置原理 SpringBoot特点 1.依赖管理 A.父项目做依赖管理 B.开发导入starter场景启动器 C.可以修改默认版本号 2.自动配置 A.自动配好Tomcat B.自动配好SpringMVC C.默认的包结构 D.各种配置拥有默认值 E.按需要加载所有自动配置项 SpringBoot自动配置原理 了解SpringBoot自动配置原理 1.SpringBoot特点 2.容器功能 3.自动配置原理入门 4.开发技巧 SpringBoot特点 1.依赖管理

  • Spring详解四种加载配置项的方法

    目录 1.spring加载yml文件 2.spring 加载 properties 文件 3.spring加载系统磁盘(properties)文件 4.spring加载xml文件 5.Java基于InputStream读取properties配置文件 本文默认 spring 版本是 spring5 1 spring 加载 yml 文件 2 spring 加载 properties 文件 3 spring 加载 系统磁盘 文件 4 spring 加载 xml 文件 5 Java 基于 InputS

  • SpringBoot如何配置获取request中body的json格式参数

    目录 背景 获取请求中的参数(非json格式参数) 获取方法 结论 获取POST请求json格式的参数 经过检索推荐方法(参看后边完整方法) 实现方法 使用 背景 最近开发项目,因为有第三方调用我们的接口,我们使用SpringBoot以JavaBean的方式接收了我们预期的参数,参数接收也没有什么异常.但是有一些需求问题需要沟通,需要拿到合作第三方传入的所有参数,来进行参数核验. 如何拿到请求的所有参数呢?正常的思路肯定是从request中获取,如果是GET请求,参数在请求路径中拼接:如果是PO

  • 使用SpringBoot根据配置注入接口的不同实现类(代码演示)

    目录 一.引言 二.代码演示 1.问题描述 2.解决方案 2.1使用@Autowired的时候将接口变量名改为实现类的限定名 2.2 使用@Autowired配合@Qualifier指定限定名注入实现类 2.3@ConditionalOnProperty 三.总结 一.引言 我们在使用springboot进行开发的时候经常用到@Autowired和@Resource进行依赖注入,但是当我们一个接口对应多个不同的实现类的时候如果不进行一下配置项目启动时就会报错,那么怎么根据不同的需求注入不同的类型

  • SpringBoot多环境配置教程详解

    目录 一.为什么要配置多环境 二.如何进行多环境配置呢 1.针对 yaml 配置文件 2.针对 properties 配置文件 三.命令行启动参数 第一步:打包项目 第二步:输入命令行 补充内容 一.为什么要配置多环境 当我们工作开发真实的项目时,可能会遇到不同的环境,如:开发环境.生产环境.测试环境等,不同的环境所需要的配置内容也会不尽相同,如果我们每次切换环境时再去配置对应的环境配置,肯定会降低我们的开发效率,所以,掌握多环境配置还是非常有必要的. 二.如何进行多环境配置呢 我们还是以配置端

  • selenium+python环境配置教程详解

    一.安装Python 1)官网下载安装 2)配置环境变量(未勾选自动配置需要手动配置) 3)检查是否安装成功(交互窗口中输入Python -v) 二.Selenium 3.X +FireFox 驱动 +geckodriver 1.安装selenium: 1)W+r输入cmd,然后输入pip install selenium 2)安装FireFox,添加附加组件selenium IDE.FireBUG 3) https://github.com/mozilla/geckodriver/releas

  • Windows下ncnn环境配置教程详解(VS2019)

    一.下载VS2019并安装 1.下载地址:https://visualstudio.microsoft.com/zh-hans/vs/ 2.下载后安装工作负载(安装以下三个即可) 3.如果发现忘记下载某一个工作负载,可以再安装完成之后在重新安装(VS导航栏的工具->获取工具和功能) 二.下载并安装cmake-3.16.5 1.下载地址:链接: https://pan.baidu.com/s/1_gTHjKRbT9nfDFsrO9bkTg 提取码: zme6 2.下载后解压 3.添加环境变量(将解

  • Win10下最新版CLion(2020.1.3)安装及环境配置教程详解

    前言 CLion 是 JetBrains 推出的全新的 C/C++ 跨平台集成开发环境.   没想到,我竟然又安装了CLion !!!∑(゚Д゚ノ)ノ,不过说实话,JetBrains家的IDE除了吃内存外,确实好用,无论是PyCharm还是IntelliJ IDEA.这还是我二年级学数据结构时用的IDE,比Dev C++好用多的多,虽然考完试我就给它卸载了. 1. 下载安装   下载还是要去官网,建议不要去什么第三方啊之类,官网下载,安全又干净,下载完直接双击安装就是了.   在这里提醒三点:1

  • visual studio code 配置C++开发环境的教程详解 (windows 开发环境)

    0 引言 最近帮GF(不幸变成ex了)配置C++开发环境,一开始想给她装个visual studio13完事,但是一想到自己安装以及使用时的诸多麻烦,就有点退却,觉得没有这个必要.正好了解到vscode大行其道,决定按照官网指示配置一版.由于本人非计算机科班出身,对编译原理了解不多,在配置环境的时候遇到了一些麻烦,参照网上的诸多教程,最后发现还是官网比较靠谱,所以结合自己配置的教训,写个帖子,希望能够帮到大家. 1 下载安装vscode 下载网址链接如下. https://code.visual

  • 使用IntelliJ IDEA 配置安卓(Android)开发环境的教程详解(新手必看)

      上移动端的测试课,老师和同学们用的都是eclipse, 只有我一个人用的是idea(用了两款软件之后觉得IDEA更好),真的太难了,配置环境就只有一个人孤军奋战了,自己选择的路,爬都要爬完,害!   有大佬推荐我用Android studio,去了解了一下,这个软件也不错,考虑到已经用了IDEA那就用吧. 操作环境和基本配置 操作环境:Win 10 基本环境配置:Java 1.8 基本工具:IDEA(自行下载安装购买,支持正版!) 一.jdk的下载安装与配置 1.1下载安装 jdk的官网下载

  • SpringCloud2020版本配置与环境搭建教程详解

    1.maven父子工程搭建 项目使用maven工程搭建,下面是工程的结构图.SpringCloud2020是父工程,仅负责依赖的管理,eureka是注册中心的服务端,testclient是测试的客户端. 1.1 父工程pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu

  • Admin - SpringBoot + Maven 多启动环境配置实例详解

    一:父级pom.xml文件 resources目录下新建指定文件夹,存放Spring配置文件 <profiles> <profile> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> <activation> <activeByDefault>true</activeByD

  • 使用 Docker 搭建 Laravel 本地环境的教程详解

    Laravel 官方提供 Homestead 和 Valet 作为本地开发环境,Homestead 是一个官方预封装的 Vagrant Box,也就是一个虚拟机,但是跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢,现在有了 docker 这种更好的方式,可以轻松方便的搭建整套 PHP 开发环境. 本文就介绍如何使用 docker 搭建 Laravel 本地环境. 安装 docker 首先安装 docker. 克隆 laradock laradock 官方文档: http://

  • Mybatis 创建方法、全局配置教程详解

    总体介绍:MyBatis实际上是Ibatis3.0版本以后的持久化层框架[也就是和数据库打交道的框架]! 和数据库打交道的技术有: 原生的JDBC技术--->Spring的JdbcTemplate技术 这些工具都是提供简单的SQL语句的执行,但是和我们这里学的MyBatis框架还有些不同, 框架是一整套的东西,例如事务控制,查询缓存,字段映射等等. 我们用原生JDBC操作数据库的时候都会经过: 编写sql---->预编译---->设置参数----->执行sql------->

随机推荐