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仓库

精彩预告(更新预告)

相关文章
|
1月前
|
Java 开发者 微服务
手写模拟Spring Boot自动配置功能
【11月更文挑战第19天】随着微服务架构的兴起,Spring Boot作为一种快速开发框架,因其简化了Spring应用的初始搭建和开发过程,受到了广大开发者的青睐。自动配置作为Spring Boot的核心特性之一,大大减少了手动配置的工作量,提高了开发效率。
61 0
|
4天前
|
Java Maven Spring
SpringBoot配置跨模块扫描问题解决方案
在分布式项目中,使用Maven进行多模块开发时,某些模块(如xxx-common)没有启动类。如何将这些模块中的类注册为Spring管理的Bean对象?本文通过案例分析,介绍了两种解决方案:常规方案是通过`@SpringBootApplication(scanBasePackages)`指定扫描路径;推荐方案是保持各模块包结构一致(如com.xxx),利用SpringBoot默认扫描规则自动识别其他模块中的组件,简化配置。
SpringBoot配置跨模块扫描问题解决方案
|
11天前
|
NoSQL Java Redis
Spring Boot 自动配置机制:从原理到自定义
Spring Boot 的自动配置机制通过 `spring.factories` 文件和 `@EnableAutoConfiguration` 注解,根据类路径中的依赖和条件注解自动配置所需的 Bean,大大简化了开发过程。本文深入探讨了自动配置的原理、条件化配置、自定义自动配置以及实际应用案例,帮助开发者更好地理解和利用这一强大特性。
55 14
|
1月前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
51 1
SpringBoot入门(7)- 配置热部署devtools工具
|
1月前
|
存储 前端开发 JavaScript
springboot中路径默认配置与重定向/转发所存在的域对象
Spring Boot 提供了简便的路径默认配置和强大的重定向/转发机制,通过合理使用这些功能,可以实现灵活的请求处理和数据传递。理解并掌握不同域对象的生命周期和使用场景,是构建高效、健壮 Web 应用的关键。通过上述详细介绍和示例,相信读者能够更好地应用这些知识,优化自己的 Spring Boot 应用。
36 3
|
1月前
|
Java 数据库连接
SpringBoot配置多数据源实战
第四届光学与机器视觉国际学术会议(ICOMV 2025) 2025 4th International Conference on Optics and Machine Vision
64 8
|
1月前
|
Java 数据库连接 数据库
springboot启动配置文件-bootstrap.yml常用基本配置
以上是一些常用的基本配置项,在实际应用中可能会根据需求有所变化。通过合理配置 `bootstrap.yml`文件,可以确保应用程序在启动阶段加载正确的配置,并顺利启动运行。
189 2
|
1月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
45 2
|
4月前
|
Java 测试技术 Spring
Java SpringBoot 加载 yml 配置文件中字典项
Java SpringBoot 加载 yml 配置文件中字典项
51 0