SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)

简介: SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)

文档说明

开发步骤

首先我们建立两个文件,分别为 application-dev.yml 和 application-prod.yml 分别代表开发环境和生产环境的配置:

# 开发环境的配置 application-dev.yml
server:
  port: 8080 # 设置端口号为 8080
# 生产环境的配置 application-prod.yml
server:
  port: 80 # 设置端口号为 80

在来在 application.yml 当中添加一行配置

spring:
  profiles:
    active: ${SPRING_PROFILES_ACTIVE}

${SPRING_PROFILES_ACTIVE} 的意思是读取名为 SPRING_PROFILES_ACTIVE 的环境变量

然后我们来配置一下计算机的环境变量

到idea当中查看环境变量

如果查看没有那么就到项目地址当中删除一下两个文件然后从新导入项目

接下来我们运行项目并查看运行日志,可以看到使用的是 dev 的环境,也就是使用的是 application-dev.yml 这个配置文件,端口号是8080

然后将该项目打成jar包,依照官方文档我们需要新增一个插件,以方便制作一个可运行的jar包

代码如下:

<build>
    <plugins>
        <!-- 制作一个可运行的 jar 包需要的插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

复制到 pom.xml 文件中

然后我们来到文件管理器中 pom.xml 所在的目录下运行一下命令以打包该项目(前提是配置好了maven的环境变量)

mvn package -Dmaven.test.skip

看到以下界面代表打包成功

我们也可以用idea工具进行打包

然后我们还是可以看到这个打包成功的提示

打包完成后可以在项目的 target 目录下找到该jar文件

然后我们来到Linux生产环境,其必须安装好 jdk 和 MySQL,可以参考我写的两篇文章 jdk1.8安装 和 MySQL5.7.32安装,然后配置Linux环境变量,使用 vim /etc/profile 命令,添加上一下配置

SPRING_PROFILES_ACTIVE=prod
export SPRING_PROFILES_ACTIVE

如图:

保存退出后我们将jar包拿到Linux当中来

使用 java -jar demo-user-1.0-SNAPSHOT.jar 运行它,可以看到环境是生产环境,也就是使用的 application-prod.yml 端口号也是80:

时间不早了,下课,家庭作业:自行测试

(代码已经更新至git仓库

精彩预告(更新预告)

相关文章
|
5月前
|
Java Spring
Spring Boot配置的优先级?
在Spring Boot项目中,配置可通过配置文件和外部配置实现。支持的配置文件包括application.properties、application.yml和application.yaml,优先级依次降低。外部配置常用方式有Java系统属性(如-Dserver.port=9001)和命令行参数(如--server.port=10010),其中命令行参数优先级高于系统属性。整体优先级顺序为:命令行参数 &gt; Java系统属性 &gt; application.properties &gt; application.yml &gt; application.yaml。
1037 0
|
2月前
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
361 3
|
3月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
665 5
|
3月前
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
216 0
探索Spring Boot的@Conditional注解的上下文配置
|
4月前
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
1081 10
|
5月前
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
1237 1
|
6月前
|
Java API 数据库
JPA简介:Spring Boot环境下的实践指南
上述内容仅是JPA在Spring Boot环境下使用的冰山一角,实际的实践中你会发现更深更广的应用。总而言之,只要掌握了JPA的规则,你就可以借助Spring Boot无比丰富的功能,娴熟地驾驶这台高性能的跑车,在属于你的程序世界里驰骋。
251 15
SpringBoot 配置多环境配置文件
SpringBoot 配置多环境配置文件
1899 0
SpringBoot 配置多环境配置文件
|
2月前
|
JavaScript Java 关系型数据库
基于springboot的项目管理系统
本文探讨项目管理系统在现代企业中的应用与实现,分析其研究背景、意义及现状,阐述基于SSM、Java、MySQL和Vue等技术构建系统的关键方法,展现其在提升管理效率、协同水平与风险管控方面的价值。