0


识别 Spring Cloud 配置文件的规则:Nacos, Bootstrap, Application

个人名片
在这里插入图片描述
🎓作者简介:java领域优质创作者
🌐个人主页:码农阿豪
📞工作室:新空间代码工作室(提供各种软件服务)
💌个人邮箱:[2435024119@qq.com]
📱个人微信:15279484656
🌐个人导航网站www.forff.top
💡座右铭:总有人要赢。为什么不能是我呢?

  • 专栏导航:

码农阿豪系列专栏导航
面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️
Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻
Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡
全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀

目录

识别 Spring Cloud 配置文件的规则:Nacos, Bootstrap, Application

Spring Cloud 项目中,配置文件管理是非常重要的一环。常见的配置文件包括

bootstrap.properties

bootstrap.yml

application.properties

application.yml

,以及 Nacos 作为配置中心的远程配置。在实际项目中,这些配置文件的加载和优先级会直接影响到项目的运行。在本文中,我们将详细探讨这些配置文件的识别规则,并通过一些案例说明其特殊情况。

1. 配置文件简介
  • bootstrap.properties / bootstrap.yml:- 主要用于程序启动时初始化一些较早的配置,如配置中心地址、加密/解密信息等。- 加载时机较早,优先级高于 application 系列文件。
  • application.properties / application.yml:- 主要用于定义应用程序的配置,如数据源、日志配置等。- 加载时机稍晚于 bootstrap 文件。
  • Nacos 配置:- 作为配置中心,可以动态地管理和更新配置。- 配置可以覆盖 bootstrapapplication 系列文件的配置,具体取决于配置项的优先级和加载顺序。
2. 配置文件加载顺序

Spring Boot 和 Spring Cloud 项目中,配置文件的加载顺序大致如下:

  1. bootstrap.properties / bootstrap.yml
  2. application.properties / application.yml
  3. Nacos 配置
3. 案例分析
案例 1: 基础配置加载

假设我们有以下几个配置文件:

  • bootstrap.properties:spring.application.name=myAppspring.cloud.nacos.config.server-addr=127.0.0.1:8848
  • application.properties:server.port=8080spring.datasource.url=jdbc:mysql://localhost:3306/db

在这种情况下,应用启动时首先加载

bootstrap.properties

,然后加载

application.properties

spring.application.name

spring.cloud.nacos.config.server-addr

会首先被设置,之后

server.port

spring.datasource.url

被加载。

案例 2: Nacos 配置覆盖

在上述基础上,我们在 Nacos 中添加配置:

  • Nacos 配置 (Data ID: myApp-dev.yml):server:port:9090spring:datasource:url: jdbc:mysql://localhost:3306/remote_db

应用启动时的加载顺序如下:

  1. 加载 bootstrap.properties,设置应用名称和 Nacos 配置地址。
  2. 加载 application.properties,设置 server.port 为 8080,spring.datasource.urljdbc:mysql://localhost:3306/db
  3. 从 Nacos 加载配置,覆盖 server.port 为 9090,spring.datasource.urljdbc:mysql://localhost:3306/remote_db

最终,

server.port

会是 9090,

spring.datasource.url

会是

jdbc:mysql://localhost:3306/remote_db

案例 3: 多环境配置

为了支持不同环境的配置,我们可以在 Nacos 中创建不同环境的配置文件,例如

myApp-dev.yml

myApp-prod.yml

,并在

bootstrap.properties

中指定激活的配置文件:

  • bootstrap.properties:spring.application.name=myAppspring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.profiles.active=dev
  • Nacos 配置 (myApp-dev.yml):server:port:9090spring:datasource:url: jdbc:mysql://localhost:3306/dev_db
  • Nacos 配置 (myApp-prod.yml):server:port:8080spring:datasource:url: jdbc:mysql://localhost:3306/prod_db

dev

环境下,应用将加载

myApp-dev.yml

,因此

server.port

会是 9090,

spring.datasource.url

会是

jdbc:mysql://localhost:3306/dev_db

。在

prod

环境下,应用将加载

myApp-prod.yml

server.port

会是 8080,

spring.datasource.url

会是

jdbc:mysql://localhost:3306/prod_db

4. 总结

Spring Cloud 中,配置文件的加载顺序和优先级至关重要。

bootstrap.properties

/

bootstrap.yml

文件优先级最高,用于早期初始化配置。

application.properties

/

application.yml

紧随其后,用于应用的常规配置。Nacos 配置中心的配置可以覆盖本地配置文件的值。

在实际项目中,合理使用这些配置文件和配置中心,可以提高配置管理的灵活性和可维护性,确保应用程序能够适应不同的运行环境和需求变化。

通过以上的案例分析,我们可以更清晰地理解 Spring Cloud 配置文件的识别规则和实际应用中的一些特殊情况。在实际开发中,建议根据具体项目需求,合理规划和组织配置文件,确保配置的合理性和有效性。

在这里插入图片描述


本文转载自: https://blog.csdn.net/weixin_44976692/article/details/140203957
版权归原作者 码农阿豪@新空间代码工作室 所有, 如有侵权,请联系我们删除。

“识别 Spring Cloud 配置文件的规则:Nacos, Bootstrap, Application”的评论:

还没有评论