🌟🌌 欢迎来到知识与创意的殿堂 — 远见阁小民的世界!🚀
🌟🧭 在这里,我们一起探索技术的奥秘,一起在知识的海洋中遨游。
🌟🧭 在这里,每个错误都是成长的阶梯,每条建议都是前进的动力。
🌟🧭 在这里,我们一起成长,一起进步,让我们在知识的世界里畅游无阻,共同创造一个充满智慧和创新的明天。
🌟📚 点击关注,加入我们的技术探索之旅吧!❤️📖✨
✨博客主页:远见阁小民的主页
📕本文专栏:后端专栏
📕其他专栏:Linux专栏 AI专栏 Python专栏 其他专栏
1 前言
在现代软件开发中,随着项目的不断扩大和团队协作的需要,将应用配置根据不同的环境(如开发、测试、生产等)进行分离和管理变得尤为重要。
这种做法不仅有助于维护配置的清晰度和灵活性,还能确保在不同环境中应用的平稳运行。
若依系统作为一个灵活且功能丰富的企业级开发平台,已经内置了application.yml和application-druid.yml两个基础配置文件,为我们提供了一个良好的起点。
本文旨在演示如何为若依系统增加针对开发环境(dev
)和生产环境(prod
)的配置文件,从而实现配置管理的最佳实践。
通过这种方式,我们可以轻松切换环境配置,确保在不同阶段的开发流程中,应用都能在最适合的配置下运行。
这不仅提高了开发效率,也大大降低了因配置不当导致的运行时问题。
接下来,让我们一起探索如何实现这一目标。
2 实操演示
2.1 开始配置
(1)将application-druid.yml 改名为 application-dev.yml
(2)基于application-dev.yml 复制新增一个application-prod.yml
完成后的效果如下图所示👇
2.2 启动环境测试效果
在application.yml中这样配置(启动prod环境同理,这里就不再展示了)
配置示意图👇
启动示意图👇
我们也可以这样修改配置,这种配置方法要比在application.yml中修改优先级要高,看最终运行效果我们可以发现,在application.yml中的dev配置并没有生效
修改配置👇
启动效果👇
3 Spring Boot的配置文件解析(加餐)
3.1 通用配置
application.yml或application.properties是所有环境共享的基础配置,Spring Boot首先加载这个文件中的配置,它为应用程序提供了一组默认设置。
3.2 环境特定配置
application-{profile}.yml
{profile}代表应用程序运行的环境(例如dev、prod等),Spring Boot允许为不同的环境指定不同的配置文件,比如application-dev.yml针对开发环境,application-prod.yml针对生产环境。
当激活一个特定的环境配置时,Spring Boot会加载对应的环境配置文件,并且这些配置会覆盖application.yml中的相应配置。
3.3 激活环境的方式
可以通过多种方式激活特定的环境配置,例如通过设置spring.profiles.active属性,这个属性可以在application.yml中直接设置,如下图所示
也可以通过命令行参数(如–spring.profiles.active=prod)或环境变量来设置。
命令行参数来指定激活的配置文件👇
java -jar your-application.jar --spring.profiles.active=prod
通过设置环境变量来指定激活的配置文件👇
export SPRING_PROFILES_ACTIVE=prod
java -jar your-application.jar
3.4 配置文件加载顺序
首先加载application.yml中的配置,然后是激活的环境特定配置文件(如application-dev.yml或application-prod.yml)。
如果在环境特定的配置文件中定义了与application.yml相同的配置,则环境特定的配置将覆盖application.yml中的配置。
在本文中,我们深入探讨了通过命令行参数或环境变量来指定激活的配置文件,以及如何确保在不同环境中正确加载所需的配置。
这些知识对于我们管理和优化应用程序配置至关重要。
了解配置文件加载顺序并正确配置环境,是确保应用程序在不同情况下正确运行的关键。
通过本文的学习,我们能够更好地应对开发、测试和生产环境中的配置需求,确保应用程序的稳定性和可维护性。
总的来说,通过学习本文,我们对Spring Boot中多环境配置的方法有了更深入的理解,为我们未来的项目开发和部署提供了重要的指导和参考。
最后,感谢您阅读本文,希望这些知识能够对您在实践中的应用有所帮助。