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

 更新时间:2020年01月17日 11:26:53   作者:知识追寻者  
这篇文章主要介绍了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 启动后结果 与之前一致,不再贴图浪费资源;

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

相关文章

  • Spring Boot中@value的常见用法及案例

    Spring Boot中@value的常见用法及案例

    @Value注解是Spring框架中强大且常用的注解之一,本文主要介绍了SpringBoot中@value的常见用法及案例,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Java ProcessBuilder执行多次CMD命令的使用

    Java ProcessBuilder执行多次CMD命令的使用

    本文介绍了Java的ProcessBuilder类,该类用于执行外部命令,通过ProcessBuilder,我们可以在Java程序中灵活地执行多次CMD命令,并控制输入输出流以及工作目录等,感兴趣的可以了解一下
    2024-11-11
  • java爬取豆瓣电影示例解析

    java爬取豆瓣电影示例解析

    这篇文章主要介绍了java爬取豆瓣电影示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 一篇文章总结Java虚拟机内存区域模型

    一篇文章总结Java虚拟机内存区域模型

    这篇文章主要介绍了一篇文章总结Java虚拟机内存区域模型,本篇文章主要来总结一下Java虚拟机内存的各个区域,以及这些区域的作用、服务对象以及其中可能产生的问题,作为大家的面试宝典。,需要的朋友可以参考下
    2019-06-06
  • SpringBoot中webSocket实现即时聊天

    SpringBoot中webSocket实现即时聊天

    这篇文章主要介绍了SpringBoot中webSocket实现即时聊天,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • sms4j 2.0 全新来袭功能的调整及maven变化详解

    sms4j 2.0 全新来袭功能的调整及maven变化详解

    这篇文章主要介绍了sms4j 2.0 全新来袭功能的调整及maven变化详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • springboot中使用mybatisplus自带插件实现分页的示例代码

    springboot中使用mybatisplus自带插件实现分页的示例代码

    这篇文章主要介绍了springboot中使用mybatisplus自带插件实现分页,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • log4j的配置文件详细解析

    log4j的配置文件详细解析

    以下小编主要为大家介绍一下log4j的配置文件各个配置项的含义。需要的朋友可以过来参考下
    2013-08-08
  • SpringBoot项目集成xxljob实现全纪录

    SpringBoot项目集成xxljob实现全纪录

    XXL-JOB是一个分布式任务调度平台,本文主要介绍了SpringBoot项目集成xxljob实现全纪录,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 在navicat中导入mysql数据库详细步骤(即.sql后缀的数据库)

    在navicat中导入mysql数据库详细步骤(即.sql后缀的数据库)

    Navicat是MySQL非常好用的可视化管理工具,功能非常强大,能满足我们日常数据库开发的所有需求,下面这篇文章主要给大家介绍了关于如何在navicat中导入mysql数据库(即.sql后缀的数据库)的相关资料,需要的朋友可以参考下
    2023-04-04

最新评论