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;

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.1.RELEASE</version>
    <relativePath/>
  </parent>

	<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

2.2 application.yml

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

# 激活配置
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
 * <p> 多环境配置 </p>
 */
@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 启动后结果 与之前一致,不再贴图浪费资源;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • springboot学习笔记之 profile多环境配置切换的实现方式

    前言 一个应用程序从开发到上线,往往需要经历几个阶段,例如开发.测试.上线.每个阶段所用到的环境的配置可能都是不一样的,Springboot 应用可以很方便地在各个环境中对配置进行切换.所以,今天主要介绍Springboot profiles实现多环境配置切换. profiles多环境配置切换的四种方式 多个配置文件的方式yml 多文档块方式 设置程序参数 设置虚拟机参数 1.多个配置文件的方式 1.1.修改application.properties server.port=8080 1.2.

  • 走进SpringBoot之配置文件与多环境详解

    在第一个Springboot项目中我们知道,SpringBoot项目的默认 配置文件在main/resources下的application.properties下,我们接直接用之前的项目了解一下配置文件. application.properties配置文件中 配置整个springboot所需的配置,例如端口,项目名称,redis信息,到后续开发springcloud时的注册中心等等的配置信息,当然也可以自己自定义的配置项. 我们打开application.properties,添加配置项:

  • springboot多环境(dev、test、prod)配置详解

    我们在开发应用的时候,通常同一套程序会被应用和安装到几个不同的环境中,比如开发.测试.生产等. 其中每个环境的数据库地址.服务器端口等配置都不同.如果在为不同环境打包时都要频繁的修改配置文件,那必将是个非常繁琐的且容易出错的事情. 对于多环境的配置,各种项目构建工具或是架构的基本思路是一样的,通过配置多份不同的环境配置文件,在通过打包命令指定需要打包的内容之后 进行区分打包,spring boot也不列外.或者说实现起来更加简单. propertiest配置格式 在Spring Boot中多环境

  • springboot 多环境配置教程

    在上一课中我们通过idea工具没有做任何配置就构建了一个springboot项目,并且已经成功启动了,但我们都很清楚这些都远远不能达到我们实际项目的需求,比如我们要引入我们自己的redis配置.mysql配置等,应该如何处理呢?在spring mvc中我们都是通过spring.xml相关文件配置,在springboot中这些都已经不存在了,我们应该怎样配置呢?别急,马上为大家揭晓谜底,跟着我一起来吧! NO1.我们在做项目的时候是不是都会区分很多环境呢?比如开发环境.测试环境.生产环境等,那么第

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

    一 前言 本篇文章的主题是在springboot中写多个配置文件,指定让个配置文件生效,以便于达到在开发环境,测试环境,线上环境根据不同的配置灵活应用:读完本篇你将获得,学会springboot的多环境配置:学会使用idea配置虚拟机参数启动不同的配置文件:学会使用jar包运行并且指定不同的配置文件等: 二 激活方式一 spring框架内部提供了2中方式用于加载YAML文档,以供启动时读取配置文件:YamlPropertiesFactoryBean 会 加载 YAML 变为 Properties

  • springboot 多环境配置 yml文件版的实现方法

    关于 dev.sit.uat.prod多环境切换的配置 最近小伙伴跟杨洋我聊到了多环境配置的问题,网上的大部分教程都是copy的,很多文章根本就没法用,小伙伴很苦恼啊,于是心(yu)地(shu)善(lin)良(feng)的杨洋回去写了个demo给了小伙 , 那么这边文章呢,正好给大家讲解下关于springboot 的多环境配置 科普时间:  dev.sit.uat.prod是什么呢? 首先给刚接触的小伙伴们科普下含义 dev--本地开发环境: sit--测试环境: uat--准生产环境: pro

  • SpringBoot多环境配置教程详解

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

  • SpringBoot多环境配置及配置文件分类实例详解

    目录 二.配置文件分类 2.1 代码演示 2.1.1 环境准备 2.1.2 验证1级和2级的优先级 2.1.3 验证2级和4级的优先级 一.多环境配置 在工作中,对于开发环境.测试环境.生产环境的配置肯定都不相同,比如我们开发阶段会在自己的电脑上安装 mysql ,连接自己电脑上的 mysql 即可,但是项目开发完毕后要上线就需要该配置,将环境的配置改为线上环境的. 来回的修改配置会很麻烦,而 SpringBoot 给开发者提供了多环境的快捷配置,需要切换环境时只需要改一个配置即可.不同类型的配

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

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

  • SpringBoot Profiles 多环境配置及切换

    目录 前言 默认环境配置 默认运行环境 多环境配置 多环境切换 小结 前言 大部分情况下,我们开发的产品应用都会根据不同的目的,支持运行在不同的环境(Profile)下,比如: 开发环境(dev) 测试环境(test) 预览环境(pre) 生产环境(prod) 这里的 环境 实际上是一个统称,不同的环境可能代表着 使用的域名.端口.实例数目是不同的: 连接的数据库地址.端口.名称是不同的: 使用的日志输出格式.级别.保存时间是不同的: 以数据库为例,应用在开发环境下运行时,连接的是开发环境对应的

  • springboot结合maven配置不同环境的profile方式

    目录 springboot结合maven配置不同环境的profile 1.在spring-boot中新建配置文件 2.在application.yml中增加属性 3.在pom.xml中添加不同的profile 4.测试 springboot maven多环境配置 环境 1.在resources下创建/dev文件夹 2.在pom.xml文件加入相关配置如下 springboot结合maven配置不同环境的profile 1.在spring-boot中新建配置文件 spring-boot不同环境配置

  • SpringBoot-application.yml多环境配置详解

    介绍 开发SpringBoot应用的时候,通常程序需要在测试环境测试成功后才会上线到生产环境.而测试环境和生产环境的数据库地址.服务器端口等配置都不同.在为不同环境打jar包时,需要频繁的修改application.yml配置文件,十分麻烦.可以采用创建多个配置文件的方法解决这一问题. 为了实现多环境配置,我们可以在本地开发的时候在Resource文件夹下新建不同环境的配置文件,如下图所示: 默认配置文件application.yml文件可根据自己需求使用,最后会合并其他的application

  • Springboot如何使用logback实现多环境配置?

    前言 Logback是由log4j创始人设计的又一个开源日记组件,Logback 当前分成三个模块:logback-core,logback- classic和logback-access.logback-core是其它两个模块的基础模块,logback-classic是log4j的一个改良版本.此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日记系统如log4j或JDK14 Logging.logback-access访问模块与Servlet容器集成提供通

随机推荐